試題18 四平方和(列舉法)

2021-10-06 09:38:24 字數 629 閱讀 6234

題目:

四平方和定理,又稱為拉格朗日定理:每個正整數都可以表示為至多4個正整數的平方和。如果把0包括進去,就正好可以表示為4個數的平方和。

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

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

則對於乙個給定的正整數n,可以表示為:

n=a^2+ b ^2 +c^ 2+d^2

你需要求出字典序最小的一組解a,b,c,d。

輸入格式

輸入乙個正整數n(1<=n<=5000000)

輸出格式

輸出4個非負整數a,b,c,d。中間用空格隔開。

樣例輸入1

5樣例輸出1

0  0  1  2

樣例輸入2

12樣例輸出2

0  2  2  2

列舉法:需要注意a,b,c,d的值依次遞增滿足字典序要求

#include

#include

#include

#include

using

namespace std;

intmain()

}}}return0;

}

四平方和(列舉)

1.問題描述 四平方和 四平方和定理,又稱為拉格朗日定理 每個正整數都可以表示為至多4個正整數的平方和。如果把0包括進去,就正好可以表示為4個數的平方和。比如 5 0 2 0 2 1 2 2 2 7 1 2 1 2 1 2 2 2 符號表示乘方的意思 對於乙個給定的正整數,可能存在多種平方和的表示法...

列舉 四平方和定理

include includeint main return 0 又稱為拉格朗日定理 每個正整數都可以表示為至多4個正整數的平方和。如果把0包括進去,就正好可以表示為4個數的平方和。比如 5 0 2 0 2 1 2 2 2 7 1 2 1 2 1 2 2 2 符號表示乘方的意思 對於乙個給定的正整數...

歷屆試題 四平方和 窮舉

四平方和定理,又稱為拉格朗日定理 每個正整數都可以表示為至多4個正整數的平方和。如果把0包括進去,就正好可以表示為4個數的平方和。比如 5 0 2 0 2 1 2 2 2 7 1 2 1 2 1 2 2 2 符號表示乘方的意思 對於乙個給定的正整數,可能存在多種平方和的表示法。要求你對4個數排序 0...