藍橋杯2016第7屆C B組省賽 四平方和

2021-09-13 12:17:28 字數 1107 閱讀 9378

四平方和定理,又稱為拉格朗日定理:

每個正整數都可以表示為至多4個正整數的平方和。

如果把0包括進去,就正好可以表示為4個數的平方和。

比如:5 = 0^2 + 0^2 + 1^2 + 2^2

7 = 1^2 + 1^2 + 1^2 + 2^2

(^符號表示乘方的意思)

對於乙個給定的正整數,可能存在多種平方和的表示法。

要求你對4個數排序:

0 <= a <= b <= c <= d

並對所有的可能表示法按 a,b,c,d 為聯合主鍵公升序排列,最後輸出第乙個表示法

程式輸入為乙個正整數n (n<5000000)

要求輸出4個非負整數,按從小到大排序,中間用空格分開

例如,輸入:

5則程式應該輸出:

0 0 1 2

再例如,輸入:

12則程式應該輸出:

0 2 2 2

再例如,輸入:

773535

則程式應該輸出:

1 1 267 838

資源約定:

峰值記憶體消耗 < 256m

cpu消耗  < 3000ms

四層迴圈,從最小的數開始,最後一層迴圈大於等於n結束,如果四個數的平方和恰好為n,輸出

#includeusing namespace std;

int main(){

int n;

cin>>n;

int a=sqrt(n);

for(int i=0;i<=a;i++){

int b=n-i*i;

for(int j=0;j<=sqrt(b);j++){

int c=b-j*j;

for(int l=0;l<=sqrt(c);l++){

int d=c-l*l;

int k=sqrt(d);

while(i*i+j*j+l*l+k*k執行用時(ms),測試了三個資料從左往右5000000 4999999 4999997,都非常短

藍橋杯省賽c b組 1

藍橋杯省賽挺簡單的,學長說只要做對一道填空題就有省三,然而我拿的就是省三,菜的扣腳!不過,現在才大一,我要努力,加油!接下來寫的是關於藍橋杯省賽的一些題解,有點菜,諒解。題目 一堆煤球,成三角形排列,第一排1個,第二排3個,第三排6個,第四排10個,求第100排有多少煤球。include using...

第四屆藍橋杯省賽C B組 第39級台階

小明剛剛看完電影 第39級台階 離開電影院的時候,他數了數禮堂前的台階數,恰好是39級 站在台階前,他突然又想著乙個問題 如果我每一步只能邁上1個或2個台階。先邁左腳,然後左右交替,最後一步是邁右腳,也就是說一共要走偶數步。那麼,上完39級台階,有多少種不同的上法呢?請你利用計算機的優勢,幫助小明尋...

2023年第七屆藍橋杯省賽C B組C題

這個算式中a i代表1 9的數字,不同的字母代表不同的數字。比如 6 8 3 952 714 就是一種解法,5 3 1 972 486 是另一種解法。這個算式一共有多少種解法?好了看到這道題的第一眼我想的是搜尋。其實搜尋可以。但是排列更加簡單。用next permutation 嘻嘻嘻暴力算一下就可...