输出整数N的所有因子(除去1和本身)的平方和
请不要用for语句,我还是个初学者,没学到,最后一步怎么把所有因子输出来平方相加?大神们教教我
1回答
-
这都不会
#include<stdio.h>
int main() {
int N, i, sum;
printf("请输入N的数值:");
scanf("%d", &N);
i = 2; //根据题目要求,N的因子的范围为2到N-1,所以初值设为2
sum = 0; //将sum的初值设为0,用来储存因子平方的和。
while(i <= N - 1) { //从2到N-1循环
if(N % i == 0) { //如果N对i求余为0(即N可以整除i)
sum = sum + i*i; //那么i为N的因子,将它的平方累加到sum上。
}
i = i + 1; //不论现在的i是否为因子,本次判断结束了,让i加1
} //这样通过循环每次判断i是否为N的因子,若是就将他的平方累加到sum上。
printf("平方和为%d", sum); //输出sum,即所有因子的平方和
}看注释,不会for的话,while总会吧。自认为无法更详细了。很多能写的灵巧的部分都被我写详细了。