當前位置:
首頁 >
[蓝桥杯2018决赛]阅兵方阵-模拟,枚举
發布時間:2023/12/4
48
豆豆
生活随笔
收集整理的這篇文章主要介紹了
[蓝桥杯2018决赛]阅兵方阵-模拟,枚举
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
x國要參加同盟閱兵活動。
主辦方要求每個加盟國派出的士兵恰好能組成 2 個方陣。
x國發現弱小的 y國派出了130人的隊伍,他們的士兵在行進中可以變換2種隊形:
130 = 81 + 49 = 9^2 + 7^2
130 = 121 + 9 = 11^2 + 3^2
x國君很受刺激,覺得x國面積是y國的6倍,理應變出更多隊形。
于是他發號施令:
我們要派出一支隊伍,在行進中要變出 12 種隊形!!!
手下人可慘了,要忙著計算至少多少人才能組成 12 種不同的雙方陣。
請你利用計算機的優勢來計算一下,至少需要多少士兵。
輸出
輸出一個整數表示答案
代碼如下:
#include <iostream> #include <cmath> using namespace std;int main() {for (int i = 1;; i++) {int cnt = 0;for (int j = 1; j * j < i; j++) {int k = sqrt(i - j * j);if (k * k + j * j == i)cnt++;if (cnt == 24) {//例如9 = 1+8和9 = 8+1是同一種隊形,所以是24cout << i << endl;return 0;}}}return 0; } #include <iostream> #include <cmath> using namespace std;int main() {for (int i = 1;; i++) {int cnt = 0;for (int j = 1; j * j < i; j++) {double k = sqrt(i - j * j);if (k * k + j * j == i && k == (int)k)cnt++;if (cnt == 24) {//例如9 = 1+8和9 = 8+1是同一種隊形,所以是24cout << i << endl;return 0;}}}return 0; }總結
以上是生活随笔為你收集整理的[蓝桥杯2018决赛]阅兵方阵-模拟,枚举的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 多吃红薯能减肥吗
- 下一篇: [蓝桥杯2016初赛]报纸页数-生活常识