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

C++第7次作业

2016-06-06 01:24 309 查看
项目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 F1(int m,int n)
{
int i;
while(n!=0)
{
i=m%n;
m=n;
n=i;
}
return m;
}
int F2(int m,int n)
{
int j;
j=(m*n)/(F1(m,n));
return j;
}
int main()
{
int a,b;
cin>>a>>b;
cout<<"请输入两个数:";
cout<<"最大公约数是:"<<F1(a,b)<<endl;
cout<<"最小公倍数是:"<<F2(a,b)<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: