爱因斯坦的阶梯代码:
//算法1-12
#include<iostream>
using namespace std;
int main()
{int n=1; //n为所设的阶梯数while(!((n%2==1)&&(n%3==2)&&(n%5==4)&&(n%6==5)&&(n%7==0)))n++; //判别是否满足一组同余式cout<<n<<endl; //输出阶梯数
}
哥德巴赫猜想代码:
//算法1-14
#include<iostream>
#include<cmath>
using namespace std;
int prime(int n); //判断是否均为素数
int main()
{int i,n;for(i=4;i<=2000;i+=2) //对2000大于2的偶数分解判断,从4开始,每次增2{for(n=2;n<i;n++) //将偶数i分解为两个整数,一个整数是n,一个是i-nif(prime(n)) //判断第一个整数是否均为素数if(prime(i-n)) //判断第二个整数是否均为素数{cout<< i <<"=" << n <<"+"<<i-n<<endl; //若均是素数则输出break;}if(n==i)cout<<"error "<<endl;}
}
int prime(int i) //判断是否为素数
{int j;if(i<=1) return 0;if(i==2) return 1;for(j=2;j<=(int)(sqrt((double)i));j++)if(!(i%j)) return 0;return 1;
}
马克思的数学题代码:
//算法1-11
#include<iostream>
using namespace std;
int main()
{int x,y,z,count=0; //记录可行解的个数//cout<<" Men,Women,Children"<<endl;//cout<<"........................................"<<endl;for(x=1;x<=9;x++){y=20-2*x; //固定x值然后根据式③求得y值z=30-x-y; //由式①求得z值if(3*x+2*y+z==50) //判断当前得到的一组解是否满足式②cout<<++count<<" "<<x<<' '<<y<<' '<<z<<endl; //打印出第几个解和解值x,y,z}
}