测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A40819. 阅兵方阵

填空题 困难

题目描述

阅兵方阵

题目描述

x国要参加同盟阅兵活动。

主办方要求每个加盟国派出的士兵恰好能组成 2 个方阵。

x国发现弱小的 y国派出了130人的队伍,他们的士兵在行进中可以变换2种队形:

130 = 81 + 49 = 92 + 72

130 = 121 + 9 = 112 + 32

x国君很受刺激,觉得x国面积是y国的6倍,理应变出更多队形。

于是他发号施令:

我们要派出一支队伍,在行进中要变出 12 种队形!!!

手下人可惨了,要忙着计算至少多少人才能组成 12 种不同的双方阵。

请你利用计算机的优势来计算一下,至少需要多少士兵。

(ps: 不要失去信心,1105人就能组成4种队形了)

答案提交

注意,需要提交的是一个整数,表示至少需要士兵数目,不要填写任何多余的内容。

参考答案

#include <iostream> #include <ctime> using namespace std; int main() { for (int n = 1; ; n ++) { int cnt = 0; for (int i = 1; i * i < n; i ++) for (int j = 1; i * i + j * j <= n; j ++) { if(i * i + j * j == n) cnt ++; if(cnt == 2 * 12) { cout << n << endl; cout << clock() << " ms" << endl; return 0; } } } }

答案解析

答案:160225

上一题 下一题