
这道题说白了就是把一个数分成两个平方数,问这一组平方数有多少种,注意:
例如:
1、9 = 1 + 8
2、9 = 8 + 1
∵ 上述两种情况其实是同一个队形
∴ 要求变换的队形数量要 * 2
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int q[105];
int w[105];
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)
{
printf("%d\n",i);
return 0;
}
}
}
// cout<<160225<<endl;
}
本文介绍了一种通过编程解决特定数学问题的方法:将一个整数分解为两个平方数之和的不同组合方式的数量。使用C++实现,核心思路是通过双重循环来遍历所有可能的组合,并利用平方根函数验证是否符合要求。
2158

被折叠的 条评论
为什么被折叠?



