Given any input integer n , calculate
n 1 1 1 1 1 1
Σ ─ = ─ + ─ + ─ + ─ +...........+ ─
x=0 x! 0! 1! 2! 3! n!
因為之前完全沒碰過關於程式設計
看了書又不知道從何開始 所以可以請問大家一下嗎
謝謝!!
--
[1;32m※ Origin: [33mSayYA 資訊站 [37m<bbs.sayya.org> [m
[1;31m◆ From: [36m134-208-41-183.ndhu.edu.tw [m
float sum=0;
INT divisor=1;
sum+=1/divisor;
for(int i=1;i<=n;++i){
divisior*=i;
sum+=1/divisor;
}
主要部分就是這樣, INT 由你自己想辦法,
因為 c 提供的整數型別範圍有限,所以你的 n 大小也很有限。
--
[1;35m※ [33m發信站 [m [ [1;37;44m中央數學 織夢天堂 bbs.math.ncu.edu.tw [m]
‧ [1;32mFROM [m [ [1;37;44m228103.D18-228.ncu.edu.tw [m]
main()
{
double ans=0;
int num,i;
printf("鍵入你想計算的次數 :");
scanf("%d",&num);
if (num<0)
{
printf("error!!");
exit();
}
for (i=0;i<=num;i++)
{
ans+=(1/(double)level(i));
printf("\n第%d項: %.15f",i,ans);
}
}
//值只有取用到長整數計算的數值過大,依然無法處理
long level(int n)
{
long s=1;
int i;
for(i=1;i<=n;i++)
{
s*=i;
}
return s;
}
//如果要計算非整數的階層就要在函數內再做調整
--
我不是解問題的高手
我是來取經的..
--
[1;31mO [1;32mr [1;33mi [1;34mg [1;35mi [1;36mn [1;31m: [1;36m<不良牛牧場> [1;33mzoo.ee.ntu.edu.tw [1;32m(140.112.18.36) [m
[1;32mWelcome to SimFarm BBS [1;36m-- [m [1;31mFrom : [ [msw73-16-31.adsl.seed.net.tw [1;31m] [m
原點 wrote:
> ==> LONEL...@bbs.sayya.org (流淚手心) 提到:
> : 可以請問一下關於下面這程式要怎麼編寫阿
> : Given any input integer n , calculate
> : n 1 1 1 1 1 1
> : Σ ─ = ─ + ─ + ─ + ─ +...........+ ─
> : x=0 x! 0! 1! 2! 3! n!
> : 因為之前完全沒碰過關於程式設計
> : 看了書又不知道從何開始 所以可以請問大家一下嗎
> : 謝謝!!
>
> 先寫個階乘的function應該就出來了吧
>
完全沒碰過程式設計, 為什麼要寫這個?
這個是 "迴圈的練習", 超基本程式設計入門第三課.
(第一課資料型態與變數, 第二課 if statement, 第三課迴圈... 應該差不多吧.)
- --
最好的是男人 (man) ~~
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE98Nk53zkHylOtwZ8RAsMlAJ94P4tnIa73yPT3Jm9B9LKZxI6lygCeP20z
9OCOXOpA9QscB0KjDMtTANc=
=EdSI
-----END PGP SIGNATURE-----