我正在编写一个程序,该程序获取给定数字的每个数字的平方和,并一直对新数字执行此操作,直到该数字为42或1,此程序对一定范围的数字执行此操作并找到使用此方法,最终有42个数字结束。
在终端中运行程序时,不会进入for循环
我是编码新手,因此请确保它很简单。
我一直在使用不同的变量,并用一段时间替换了第一个for循环,但是它仍然没有进入循环
int a, b, x, n, y, z, m;
scanf("%d %d", &a, &b);
for (n=a; n > b; n++){
m = n;
printf("entered for loop \n");
while (m != 42) {
y= m%10;
x = x + (y*y);
y = (m/10)%10;
x = x + (y*y);
y = (m/100)%10;
x = x + (y*y);
y = (m/1000)%10;
x = x + (y*y);
y = (m/10000)%10;
x = x + (y*y);
y = (m/100000);
x = x + (y*y);
if (x == 42){
z = z + 1;
}
m = x;
}
}
printf("%d\n", z);
因此,如果有人输入2和10,我应该得到7,我认为仍然需要对代码进行一些细微调整,但我只是因为循环而陷入困境
答案 0 :(得分:0)
for (n=a; n < b; n++)
n应该小于 b才能运行循环