51Nod 1080 兩個數的平方和

2021-09-23 07:39:32 字數 602 閱讀 8925

給出乙個整數n,將n表示為2個整數i與j的平方之和(i <= j),如果有多種表示,按照i的遞增序輸出。

例如:n = 130,130 = 3^2 + 11^2 = 7^2 + 9^2(注:3^2 + 11^2同11^2 + 3^2算1種)

乙個數n(1 <= n <= 10^9)
共k行:每行2個數,i j,表示n = i^2 + j^2(0 <= i <= j)。

如果無法分解為2個數的平方和,則輸出no solution

130
3 11

7 9

這道題拿到手 本來以為要用什麼尤拉函式之類的數論 可能確實有 我沒找到  只好自己寫 思路很簡單 對n開方 然後再範圍內列舉

ps:個人感覺題目有點坑  憑什麼 1就可以 0  1   倍的就不可以 0 n 

#include #include #include using namespace std;

int main()

for (int i = 1; i < sqrt(n); i++)

}if (!flag)

}return 0;

}

51nod 1080 兩個數的平方和

1080 兩個數的平方和 基準時間限制 1 秒 空間限制 131072 kb 分值 5 難度 1級演算法題 給出乙個整數n,將n表示為2個整數i j的平方和 i j 如果有多種表示,按照i的遞增序輸出。例如 n 130,130 3 2 11 2 7 2 9 2 注 3 11同11 3算1種 inpu...

51nod1080 兩個數的平方和

給出乙個整數n,將n表示為2個整數i j的平方和 i j 如果有多種表示,按照i的遞增序輸出。例如 n 130,130 3 2 11 2 7 2 9 2 注 3 11同11 3算1種 input 乙個數n 1 n 10 9 output 共k行 每行2個數,i j,表示n i 2 j 2 0 i j...

51nod1080 兩個數的平方和

給出乙個整數n,將n表示為2個整數i j的平方和 i j 如果有多種表示,按照i的遞增序輸出。例如 n 130,130 3 2 11 2 7 2 9 2 注 3 11同11 3算1種 input 乙個數n 1 n 10 9 output 共k行 每行2個數,i j,表示n i 2 j 2 0 i j...