本文最后更新于 1163 天前,其中的信息可能已经有所发展或是发生改变。
代码语言:javascript复制#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
int arr[4];
int arr_final[4];
int dg(int n,int step){
//cout<<"n:"<<n<<" step:"<<step<<endl;
if(step>3){
return 0;
}
int sq=sqrt(n);
//cout<<"sq:"<<sq<<endl;
if(sq*sq==n){
if(step==0){
arr[3]=sq;
for(int i=0;i<4;i ){
cout<<arr[i]<<" ";
}
cout<<endl;
return 1;
} else{
arr[step]=sq;
for(int i=0;i<4;i ){
arr_final[i]=arr[i];
cout<<arr[i]<<" ";
}
cout<<endl;
return 1;
}
}
// for(int i=sq;i>=0;i--){
// arr[step]=i;
// dg(n-i*i,step 1);
// arr[step]=0;
// }
for(int i=0;i<=sq;i ){
arr[step]=i;
if(dg(n-i*i,step 1)==1){
return 1;
}
arr[step]=0;
}
}
int main(){
memset(arr,0,sizeof(arr));
memset(arr_final,0,sizeof(arr_final));
int n;
cin>>n;
dg(n,0);
// cout<<"---------------"<<endl;
// for(int i=0;i<4;i ){
// cout<<arr_final[i]<<" ";
// }
return 0;
}
Post Views: 217