关于将一个数拆成多个数平方和的形式,我们可以用搜索来做。
#include<cstdio>
#include<cmath>
int n,q;
bool dfs(int k,int w,int v)
{
if(w==n)return 1;
if(w>n) return 0;
for(int j=k+1;j<=q;++j)
{
if(dfs(j,w+j*j,v+1
关于将一个数拆成多个数平方和的形式,我们可以用搜索来做。
#include<cstdio>
#include<cmath>
int n,q;
bool dfs(int k,int w,int v)
{
if(w==n)return 1;
if(w>n) return 0;
for(int j=k+1;j<=q;++j)
{
if(dfs(j,w+j*j,v+1