递归法——小明旅游资金与旅游景点数目,的打工次数

输入,启动资金和景点数目。输出要打工的次数

使用递归法完成下面编程

问题描述:小明热爱旅行,但是资金不足。小明想使用边打工变旅行的方式来进行旅游。小明启动资金是w元,每经过一个景点花费资金的1/10。若资金为少于500元的时候,小明就要打工,每次打工会赚到600元。现在要求输入,启动资金和景点数目。输出要打工的次数。
输入:w,n
输出:z
其中z是打工的次数

程序代码

package com.算法设计与分析报告题目;
import java.util.Scanner;
public class text2 {
	// 算出打工次数//变量w为资金,n旅游景点数目,z打工次数
	static int worksum(int w, int n, int z) {
		if (w < 500) { // 如果资金少于500,
			z++; // 打工
			w += 600; // 资金加600
			}
		w = w - w / 10; // 旅游资金少资金的1/10
		n--; // 旅游景点次数减一
		if (n > 0) { // 如果还有旅游景点数目再次前进
			z = worksum(w, n, z); // 递归方法
			}
		return z; // 打工次数
	}
	public static void main(String[] args) {
		// 声明变量x为资金,y旅游景点数目,z打工次数
		int x, y, z = 0;
		Scanner sc = new Scanner(System.in);
		System.out.println("班级……%&**#@#¥");
		System.out.print("输入旅游资金:");
		x = sc.nextInt(); // 键盘输入资金
		System.out.print("输入旅游景点的数目:");
		y = sc.nextInt(); // 键盘输入景点数目
		z = text2.worksum(x, y, 0);
		System.out.print("一共要打工次数为:" + z);
	}

运行结果截图

在这里插入图片描述

发布了40 篇原创文章 · 获赞 16 · 访问量 5267

猜你喜欢

转载自blog.csdn.net/CSDNWuZhiChun/article/details/103435423