-2
這個練習要求我們編寫一個計算貧困孩子可以得到的糖果數量的程序。問題如下:爲什麼我不能使用這個程序得到正確數量的糖果?
你被要求寫一個Java程序來幫助這些可憐的孩子回答這個問題。爲了推廣該解決方案,您的程序應該能夠接受n和m的不同值作爲輸入,其中n = 10,m = 2。爲了避免無限數量的答案,你可以假設每個糖果都有一個箔片,並且不允許切割箔片。
我遵循給出的提示使用提供的公式和java遞歸編寫程序。
import java.util.Scanner;
public class MyFirstClass{
public static void main(String args[]){
Scanner a=new Scanner(System.in);
int n=0,m=0;
n = a.nextInt();
m = a.nextInt();
System.out.println("Candy " +n+" "+ m + " n="+ n+";m="+m+";No. of Candies="+total(n,m));
}
static int sum=0;
static int total(int n, int m)
{
int sum1=n;
sum1+=candy(n,m);
return sum1;
}
static int candy(int n,int m){
if((n+n%m)/m>1){
sum+=n/m+candy((n+(n%m))/m,m);
}
return sum;
}
}
然而,當我集合n = 10且m = 2,糖果的計算的總數量小於由1實際總數糖果的什麼是我的節目的問題?謝謝!
這是一個好時機,開始學習如何使用調試器。 – OldProgrammer
你能幫助我們理解你的公式嗎?請解釋他們。到底發生了什麼?否則,我們需要一些時間來進入它,許多人不願意這樣做。 – Zabuza
歡迎來到Stack Overflow!它看起來像你需要學習使用調試器。請幫助一些[互補調試技術](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)。如果您之後仍然遇到問題,請隨時返回一個[最小,完整且可驗證的示例](http://stackoverflow.com/help/mcve),以說明您的問題。 –