那麼這裏是我的代碼:C:多while循環和變量
#include <stdio.h>
int main(){
int n=728,sum = 0, remainder, sump=0, d=2;
while(n>d){
if(n%d==0){
n/=d;
sump= sump+d;
}
else{
d++;
}
}
sump=sump+d%10+d/10;
printf("%d\n",sump);
while(n != 0){
remainder = n % 10;
sum = sum + remainder;
n = n/10;
}
printf("%d\n",sum);
return 0;
}
這裏是我所得到的,當我運行代碼:
17
4
的問題是,雖然油底殼是正確的,因爲728
素數因子數字的總和是(2+2+2+7+1+3=17)
總和的位數728
是4
而不是17
這意味着在第二個while循環中n
等於13
這是來自第一個循環的最後一個主要因素。
我的錯誤是什麼,在第二個循環n
是13
而不是728
?
請原諒我,如果我的英語不好:S
那麼這個程序應該做什麼? – 2014-01-26 17:32:25
您沒有存儲'n'的值。嘗試在第一個「while」循環後顯示它。 – AntonH
請正確輸入縮進。 –