2011-11-16

1001116複習題

1001116複習題

1.
內容 :
計算一級數
每項的差形成一個等差數列
每一題給定一等差數列的公差
此等數列有50項,第一項為1
輸出此數列和(1+到50項)
例如輸入為1(此為各項差形成的等差級數的公差)
答案要輸出1+2+4+7+11+......(到50項)
若輸入為2
答案要輸出1+2+5+10+17+26+37...... (到五十項)
輸入說明 :
每次輸入一個測資d,代表公差(d<=100)
輸出說明 :
輸出級數和(1+到50項)
範例輸入 :
1
範例輸出 :
20875

2.
內容 :
在這個問題中,根據所給的振幅(Amplitude)及頻率(Frequency),你的程式要產生這樣的波。
輸入說明 :
輸入的第一列有一個整數n,代表有幾組測試資料。接下來每組測試資料有2列,各有1個正整數
(A、F),A代表振幅(A<=9),F代表頻率。 第一列以及各組測試資料間皆有一空白行。請參考Sample input。
輸出說明 :
每組測試資料請輸出F個波,每個波振幅的水平高度為A。波本身是以其"高度"的內容所組成。每個波之間以一空白行分隔開來。 測試資料間也以一空白行分開。 請參考sample output。
範例輸入 :
2

3
2
5
3
範例輸出 :
1
22
333

22
1

1
22
333
22
1

1
22
333
4444
55555
4444
333
22
1

1
22
333
4444
55555
4444
333
22
1

1
22
333
4444
55555
4444
333
22
1
提示 :
迴圈

3.
內容:有一類型的數學題目如下:有三個正整數A、B 和C。若A+B=16,A+C=20,B+C=18,那麼A=? B=? C=? 本題的目的是想請你寫一個程式解此類型的題目。

輸入說明:測試資料的第一行是三個正整數(中間以空格分開),依序代表A+B、A+C、和B+C 之值。注意:這三個正整數的值均介於2 至10000 之間。

輸出說明:將滿足條件的 A、B、C 之值依序輸出。如果無正整數解的話,則請輸出「No solution.」。

範例輸入(1)
16 20 18
範例輸出(1)
9 7 11

範例輸入(2)
17 20 18
範例輸出(2)
No solution.

*********************************************************************************

4 則留言:

CK 提到...

給管理者:
以下是我的程式碼


#include
using namespace std;
main(){
long long int a,b=0,c=1,d=0;//a為公差,b為項數記數,c為當下的值,d為加總值
while(cin>>a){
for(int i=1;b<50;b++){
c=c+i;//c(值)加上公差
i=i+a;//i(公差)加上公差遞增值
d=d+c;
}
cout<<d<<endl;//輸出d
b=0;
c=0;
d=0;
}
return 0;
}

Unknown 提到...

@小坤
下次放程式碼的可以先放到 http://pastie.org/ 這個專門提供放程式碼的網站,然後再把連結貼上來,這樣一來程式碼的編排不會跑掉,也不會有程式碼被誤認為html碼而不見的問題。
最後,
關於你這支碼,
我明天再幫你看吧!
我等等還有些東西要準備!

Unknown 提到...

學弟們,
我有在第一題參考程式碼的最後補上t=1+(2+a*d)*(a+1)/2;這行述句的說明囉!

Unknown 提到...

@小坤
你的程式跑出來的各項都正確,
但是加總的部分錯囉!

如果輸入是:1
那麼第一項到第一項的和是1,
但是照你的程式碼,
出來的結果是2!!