廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2896 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
pwert011
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x4
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 這題我不會請大家教我謝謝拉
設計程式計算下列級數,n由使用者輸入
第一題 1/1!+1/3!+1/ ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:台灣 | Posted:2005-12-06 01:38 |
tnof221 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x99
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

第一題
複製程式
import java.io.*;
public class test
{
       public static void main(String args[]) throws IOException
       {
              int i,j,n,b=1;
              double s=0.0;
              String q;
             BufferedReader k;
      
             k=new BufferedReader(new InputStreamReader(System.in));
      
             System.out.print("輸入數字: ");
             q=k.readLine();
             n=Integer.parseInt(q);
             
             for(i=1;i<=n;i+=2)
             {
                    if(i%2==0)
                           break;
                    for(j=1;j<=i;j++)
                           b*=j;
                    s+=(1/(float)b);
             }
             System.out.println(s);
       }
}

第二題
不知道這是不是你要的答案
如果n是要自己設定的話,這不是你要的答案
複製程式
public class test
{
       public static void main(String args[])
       {
              int i,j=1,n,b=1;
              double s=0.0;
             
             for(i=2;i<=100;i+=2)
             {
                     s+=((float)j/i);
                     if(i==100)
                            System.out.println("n="+j);
                     j+=i;
             }
             System.out.println("加總為"+s);
       }
}

此文章被評分,最近評分記錄
財富:80 (by codeboy) | 理由: 感謝您的範例喔~^^


我貼圖所用的網路空間,有時圖會不好開,請大家多試幾次吧 ^^
獻花 x1 回到頂端 [1 樓] From:台灣教育部 | Posted:2005-12-06 09:36 |
rakish
數位造型
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x0 鮮花 x18
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

1+1/3!+1/5!+1/7! ....

感覺..用C就是不好寫..(不是不好寫...是答案不好看)宣告int...
1=1
1/3!=0.16=0
1/5!=0.0083=0
1/7!=0.00019=0
.........
一堆長的像零的相加.....實在沒什麼好算的....
答案:
複製程式
void main(){  printf("≒1");}
看在O(1)的份上應該會有兩分...

不過..人都是貪婪的..有兩分了就想要五分..
暴力法...小就小把int 改成float照加
1=1
1/3!=0.16
1/5!=0.0083
1/7!=0.00019
發現....誤差頗大....
1/3!誤差一次,1/5! 誤差一次,1/7! 誤差一次,....誤差n次
一堆誤差加起來..應該就會沒有誤差(是這樣嗎)...
這樣應該有五分...

有了菜就想要吃肉...
那先通分了好..一堆int+-*/應該不會產生誤差

以7為例(只考慮分子)

1/1+1/3!+1/5!+1/7!
=7!+7*6*5*4+7*6+1 /7!
有沒有感覺....

沒有...沒有是正常的...再簡化一下
=7*6(5*4*3*2*1+5*4+1)+1
=7*6(5*4(3*2+1)+1)+1
感覺就是長的很像...
(a*b*c +1)
         
有沒有感覺....有一點點了..
複製程式
int sum_factorial(int n){
    if(n<1){ return 1;}
    else{ return (n*(n-1)*(sum_factorial(n-2)))+1;}
}

void main(){  printf("%2d",sum_factorial(7));}
這樣....應該會0分...

那個只是分子....
記得再除 n! <--只有一次誤差

此文章被評分,最近評分記錄
財富:100 (by codeboy) | 理由: 詳細說明...^^ 值得鼓勵


人一但長大了
就發現世上的事不像想的那麼好
你總是會一天天長大的
會看得越來越清楚
獻花 x1 回到頂端 [2 樓] From:台灣 | Posted:2005-12-06 19:14 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.019535 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言