四平方和定理,又稱為拉格朗日定理:
每個正整數都可以表示為至多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 嘻嘻嘻暴力算一下就可...