学习问题是找到一个已经提供的数字的数字根。老师为我们提供了数字 2638。为了找到数字根,您必须分别将每个数字相加 2 + 6 + 3 + 8 = 19。然后您将结果 19 并将这两个数字相加 1 + 9 = 10 . 再次做同样的事情 1 + 0 = 1. 数字根为 1。
我的第一步是使用变量 total 将数字 2638 相加以找到总数 19。然后我尝试使用第二个 while 循环通过使用 % 分隔两位数
我必须尝试通过使用基本整数算术(+、-、*、/)来解决问题。
1.是否有必要或可能使用嵌套的while循环来解决问题?
2.我的数学正确吗?
3. 正如我在这里写的,它不能在 Eclipse 中运行。我是否正确使用了while循环?
import acm.program.*;
public class Ch4Q7 extends ConsoleProgram {
public void run(){
println("This program attempts to find the digit root of your number: ");
int n = readInt("Please enter your number: ");
int total = 0;
int root = total;
while (n > 0 ){
total = total + (n %10);
n = (n / 10);
}
while ( total > 0 ){
root = total;
total = ((total % 10) + total / 10);
}
println("your root should be " + root);
}
}