项目一:素数和回文
#include<iostream>
#include<cmath>
using namespace std;
int isprimer(int n)
{
int i;
for(i=2;i<=n-1;i++)
if(n%i==0)
break;
if(i<n)
return 0;
else
return 1;
}
int isPalindrome(int n)
{
int t=0,m=n;
while(m)
{
t*=10;
t+=m%10;
m/=10;
}
return t==n;
}
int keni(int x)
{
int m=0;
while(x>0)
{
m=m*10+x%10;
x=x/10;
}
return m;
}
int main()
{
int isprimer(int n);
int n,p,j=0;
cout<<"300以内所有素数为: "<<endl;
for(n=2;n<=300;n++)
{
p=isprimer(n);
if(p==1)
{
cout<<n<<" ";
j++;
if(j%7==0)
cout<<endl;
}
}
cout<<endl;
int i,k,q;
cout<<"300以内所有回文数为: "<<endl;
for(i=2;i<=300;i++)
{
q=isPalindrome(i);
if(q==1)
{
cout<<i<<" ";
k++;
if(k%7==0)
cout<<endl;
}
}
cout<<endl;
int a,b,c;
cout<<"300以内的回文素数为: "<<endl;
for(a=2;a<=300;a++)
{
c=isPalindrome(a)&&isprimer(a);
if(c==1)
{
cout<<a<<" ";
b++;
if(b%7==0)
cout<<endl;
}
}
int x,y,z,m=0;
cout<<"300以内的可逆素数为: "<<endl;
for(x=2;x<=300;x++)
{
z=isprimer(x)&&isprimer(keni(x));
if(z==1)
{
cout<<x<<" ";
y++;
if(y%7==0)
cout<<endl;
}
}
cout<<endl;
return 0;
}
项目二:最大公约数和最小公倍数
#include<iostream.h>
int num;
int M(int m,int n)
{
int x;
x=(m*n)/num;
return x;
}
void N(int m,int n)
{
int x;
if(m<n)
{
N(n,m);
}
else
{
while(n!=0)
{
x=m%n;
m=n;
n=x;
}
num=m;
}
}
int main(int argc,char*argv[])
{
int m,n;
cout<<"输入两个数据 ";
cin>>m>>n;
N(m,n);
cout<<m<<"与"<<n<<"最大公约数是: ";
cout<<num<<endl;
cout<<m<<"与"<<n<<"最小公倍数是: ";
cout<<M(m,n)<<endl;
return 0;
}