您的位置:首页 > 编程语言 > C语言/C++

C++作业7

2016-06-05 16:47 549 查看
项目1:素数和回文

#include<iostream>
using namespace std;
int isPrimer(int n)//判断素数
{
int i,j=1;
for(i=2;i<n;i++)
if(n%i==0)
{
j=0;
break;
}
return j;
}
int isPalindrome(int num) //判断回文
{
int temp=0;
for(int n=num;n;n/=10)
temp=temp*10+n%10;
return temp==num;
}
int main()
{
const int M=100;
int i,j=0,m=0,n=0,k=0,p,r;
int a[M],b[M],c[M],d[M];
for(i=2;i<=300;i++)
{
if(isPrimer(i))
{
a[j]=i;
j++;
r=i;
p=0;
while(r!=0)
{
p=p*10+r%10;
r=r/10;
}
if(isPrimer(p))
{
d[k]=i;
k++;
}
}
if(isPalindrome(i))
{
b[m]=i;
m++;
}
if(isPrimer(i) && isPalindrome(i))
{
c
=i;
n++;
}
}
cout<<"300以内的所有素数有:"<<endl;
for(i=0;i<j;i++)
cout<<a[i]<<"\t ";
cout<<endl;
cout<<"300以内的所有回文数有:"<<endl;
for(i=0;i<m;i++)
cout<<b[i]<<"\t";
cout<<endl;
cout<<"300以内的所有回文素数有:"<<endl;
for(i=0;i<n;i++)
cout<<c[i]<<"\t";
cout<<endl;
cout<<"300以内的所有可逆素数有:"<<endl;
for(i=0;i<k;i++)
cout<<d[i]<<"\t";
cout<<endl;
return 0;
}


项目2:最大公约和和最小公倍数

#include <iostream>
using namespace std;
int fun1(int m,int n)
{
int r;
while(n!=0)
{
r=m%n;
m=n;
n=r;
}
return m;
}
int fun2(int m,int n)
{
int t;
t=(m*n)/(fun1(m,n));
return t;
}
int main()
{
int a,b;
cout<<"请输入两个数:";
cin>>a>>b;
cout<<"最大公约数是:";
cout<<fun1(a,b)<<endl;
cout<<"最小公倍数是:";
cout<<fun2(a,b)<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: