前K個數的和(用PASCAL)

2022-12-30 10:30:11 字數 688 閱讀 9231

1樓:燁然炊煙

題意好像不清楚,是不是先讀完n個數,然後隨意若干次查詢前k(k是變數)個數?

如果那樣的話就用陣列啊a[i]記錄前i個數的和,讀入資料時處理如下:

a[i]:=0;

for i:=1 to n do

beginread(j);a[i]:=a[i-1]+j;

end;查詢時直接讀入k輸出a[k]。

如果只讀入一次的話就用不著陣列了,設s為最後結果,從1到k讀入j邊。

inc(s,j)就行了。

2樓:匿名使用者

設陣列a[i]為原陣列。

s[k]即位前k個的和。

s[0] :0;

for i:=1 to n do s[i] :s[i-1] +a[i];

即可實現!或者。

a[0] :0;

for i:=1 to n do a[i] :a[i-1] +a[i];

這樣直接存在原陣列裡了!

3樓:匿名使用者

根本不需要用陣列:

var i,s,k,x:longint;

beginreadln(k);

s:=0;for i:=1 to k dobegin read(x);s:=s+x;end;

writeln(s);

end.

用7和6這幾個數字寫出下面各數,每個數字只能用一次

只需要寫一個的話如下 50.67 你的第二題有問題,請檢查題目是否打錯。1 50.76 50.67 60.75 60.57 70.65 70.56 2 用5,0,7,6這4個數字寫出下面各數,每個數字只能用一次 1 大於7而小數部分是三位的小數有 2 1 大於7而小數部分 是三位的小數的整數部分只能...

已知數列an前n項的和為Sn,且有Sn1kSn

1 由sn 1 ksn 2 n n a1 2,a2 1,令n 1得k 1 2 1分 sn 1 1 2sn 2,即sn 1 4 1 2 sn 4 2分 因為s1 4 2,是等比數列 3分 sn 4 2 1 2 n 1即sn 4 1 1 2 n 從而求得an 1 2 n 2 5分 2 由ats n 1?...

pascal求N以內能被3,7整除的數的和

program ex varn,i integer s是輸入的數,i是迴圈變數s longint 統計和的變數 begin readln n 讀入n s 0 s賦初值 for i 21 to n do 迴圈if i mod 21 0 then s s i 如果迴圈變數除以3 7的餘數為0,那麼s就累...