Sakura_Emilia
2024-11-19 00:13:05
当
这三个数之间的距离刚好构成了勾股方程的一个解。众所周知,勾股方程的最小一组正整数解是
const int sub[] = {1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 1, 6};
其中的数字
其他的细节可以参考下面的代码。
#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define Ciallo main
#define int long long
using namespace std;
const int sub[] = {1, 2, 2, 3, 3, 4, 4, 5, 5, 1, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 1, 6};
int T, n, k;
inline void solve() {
cin >> n;
if(n % 2 == 0) {
for(int i = 1; i <= n / 2; i++)
cout << i << ' ' << i << ' ';
cout << endl;
} else{
if(n < 27)
cout << -1 << endl;
else{
for(int i : sub)
cout << i << ' ';
n -= 27;
for(int i = 14; i <= 13 + n / 2; i++)
cout << i << ' ' << i << ' ';
cout << endl;
}
}
}
signed Ciallo() {
ios::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
cin >> T;
while(T--)
solve();
return 0;
}