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

c++第七次作业

2016-06-06 00:51 316 查看
项目二:最大公约数和最小公倍数

#include<iostream>
using namespace std;
int fun(int m,int n,int &gcd)
{
int c,a=m,b=n;
if(m<n)
{
c=n;
n=m;
m=c;

}
while(m%n!=0)
{
c=m%n;
m=n;
n=c;
}
gcd=n;
c=a*b/n;
return c;
}
int main()
{
int m,n,y=0;
cout<<"请从键盘中输入两个整数:";
cin>>m>>n;
n=fun(m,n,y);
cout<<"最大公约数是:"<<y<<endl;
cout<<"最小公倍数是:"<<n<<endl;
return 0;
}

项目一:素数与回文
#include<iostream>
using namespace std;
int isPrimer(int x)
{
int i , j , m=0;
j = x/2;
for(i=2; i<=j; i++)
{
if(x%i==0)
{
m=1;
break;
}
}
if(m==0) return 1;
}
int isPalindrome(int y)
{
int a,sum = 0;
a = y;
while(a)
{
sum =sum*10 + a%10 ;
a = a/10 ;
}
return (sum==y);
}
int fanxu(int y)
{
int a,sum = 0;
a = y;
while(a)
{
sum =sum*10 + a%10 ;
a = a/10 ;
}
return sum;
}
int main()
{
int k ;
cout<<"300以内的素数为:"<<endl;
for(k=2; k<=300; k++)
{
if(isPrimer(k) ==1 ) cout<<k<<'\t';
}
cout<<endl;
cout <<"300以内的回文数为:"<<endl;
for(k=2;k<=300;k++)
{
if(isPalindrome(k)==1) cout<<k<<'\t';
}
cout <<endl;
cout <<"300以内的回文素数为:"<<endl;
for(k=2;k<=300;k++)
{
if( (isPrimer(k)==1) && ( isPalindrome(k)==1) ) cout<<k<<'\t';
}
cout<<endl;
cout <<"300以内的可逆素数为:"<<endl;
for(k=2;k<=300;k++)
{
if( (isPrimer (k)==1) && isPrimer(fanxu(k))==1) cout<<k<<'\t';
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: