matlab编程。
验证四方定理,该定理为:所有的自然数至多只要用四个数的平方和就可以表示。
望采纳,谢谢
#include
#include
using namespace std;
int mode1(int n) {
if((int)sqrt(n) * (int)sqrt(n)==n) {
cout<<(int)sqrt(n)<<"*"<<(int)sqrt(n)<<"="<<n;
return 1;
}
else return 0;
}
int mode2(int n) {
for(int x=1;x<sqrt(n);x++)
for(int y=x;y<sqrt(n);y++) {
if(xx+yy==n)
{
cout<<x<<""<<x<<"+"<<y<<""<<y<<"="<<n;
return 1;
}
}
return 0;
}
int mode3(int n) {
for(int x=1;x<sqrt(n);x++)
for(int y=x;y<sqrt(n);y++)
for(int z=y;z<sqrt(n);z++) {
if(xx+yy+zz==n)
{
cout<<x<<""<<x<<"+"<<y<<""<<y<<"+"<<z<<""<<z<<"="<<n;
return 1;
}
}
return 0;
}
int mode4(int n) {
for(int x=1;x<sqrt(n);x++)
for(int y=x;y<sqrt(n);y++)
for(int z=y;z<sqrt(n);z++)
for(int t=z;t<sqrt(n);t++) {
if(xx+yy+zz+tt==n)
{
cout<<x<<""<<x<<"+"<<y<<""<<y<<"+"<<z<<""<<z<<"+"<<t<<""<<t<<"="<<n;
return 1;
}
}
return 0;
}
int main() {
int n;
cin>>n;
if(mode1(n)) cout<<"yes"<<endl;
else if(mode2(n)) cout<<"yes"<<endl;
else if(mode3(n)) cout<<"yes"<<endl;
else if(mode4(n)) cout<<"yes"<<endl;
else cout<<"no";
return 0;
}