[問題] C語言1^1+2^2+3^3+....+n^n

看板C_and_CPP (C/C++)作者 (當紅炸子機)時間16年前 (2009/03/31 14:09), 編輯推噓7(701)
留言8則, 5人參與, 最新討論串1/3 (看更多)
使用迴圈計算1^1+2^2+3^3+...+n^n的值 n由使用者輸入(n為個位數的正整數) p.s 不得使用公式,也不得使用數學函式庫 #include <stdio.h> int main(void) { int i,j,n, product; long sum; printf("input a number: "); scanf("%d", &n); sum = 0; for (i=1; i<=n; i++) { product = 1; for (j=1; j<=i; j++) { product *= i; } sum += product; } printf("sum is: %d\n",sum); return 0; } 請問板上的各位先進&高手們 這個程式碼有沒有更好的改進方法呢? 感激不進 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.20.115.210

03/31 14:23, , 1F
for (int i=0;i<=n;++i){sum+=i*i;} fun(10)=385??
03/31 14:23, 1F

03/31 14:28, , 2F
樓上的是 Σn^2 ?
03/31 14:28, 2F

03/31 14:45, , 3F
也可以用遞迴 但好像沒比較好
03/31 14:45, 3F

03/31 15:23, , 4F
sum+=(int)pow(double(i),double(i)); XDD 看錯了
03/31 15:23, 4F

03/31 15:24, , 5F
不過 不能用math 只好 是原來的方法
03/31 15:24, 5F

03/31 15:44, , 6F
用遞迴的確有比較好呀?二分遞迴 D&C ~
03/31 15:44, 6F

03/31 16:16, , 7F
請見我的回文
03/31 16:16, 7F

03/31 17:49, , 8F
其實這程式應該還需要考慮到溢位問題
03/31 17:49, 8F
文章代碼(AID): #19qREanH (C_and_CPP)
文章代碼(AID): #19qREanH (C_and_CPP)