package cn.itcast.girl.TheBlueCup_02;
import java.util.Scanner;
public class Peter_Cigarettes {
static int sum = 0;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int n,k;
n = sc.nextInt();
k = sc.nextInt();
// int sum = n;
sum = n;
recursion(n,k);
System.out.println(sum);
}
public static void recursion(int n,int k) {
if(n<k) return;
int divide = n/k;
sum+=divide;
int balance = n%k;
recursion(divide+balance,k);
}
}
本文介绍了一个使用Java实现的递归算法案例,该算法用于解决一个有趣的问题:通过空烟盒换取香烟的数量计算。输入包括当前拥有的空烟盒数量和换取规则(多少个空烟盒可以换取一根新烟)。程序通过递归调用自身来计算最终能获得多少根新烟。

被折叠的 条评论
为什么被折叠?



