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

C++作业7——素数和回文、特殊三位数

2016-06-05 17:29 603 查看
项目1:素数和回文

#include<iostream>
using namespace std;
int isPrimer(int n)
{ int i;
{for(i=2;i<n;i++)
if(n%i==0)break;}
if(i==n) return 1;
else return 0;
}

int isPalindrome(int n)
{
if(n<10)return 1;
else if(n>=10&&n<100&&n/10==n%10)return 1;
else if(n>100&&n/100==n%10)return 1;
}
int main()
{
int o,p,j,w,g,l,s,h;
cout<<"300以内所有的素数是:";
for(o=2;o<300;o++)
{

p=isPrimer(o);
if(p==1)
{
cout<<o<<" ";
}
}
cout<<endl<<"300以内所有的回文数是:";
for(o=2;o<300;o++)
{
j=isPalindrome(o);
if(j==1)
{
cout<<o<<" ";
}

}

cout<<endl<<"300以内所有的回文素数是:";
for(o=2;o<300;o++)
{
if(isPalindrome(o)==isPrimer(o))
cout<<o<<" ";
}
cout<<endl<<"300以内的所有可逆素数是:";
for(o=2;o<10;o++)
{ w=isPrimer(o);
if(w==1) cout<<o<<" ";}
for(o=10;o<100;o++)
{l=o/10;g=o%10;
h=g*10+l;
if(isPrimer(o)==isPrimer(h)&&isPrimer(o)==1) cout<<o<<" ";
}

for(o=100;o<300;o++)
{
s=o/100;
l=o/10-s*10;
g=o%10;
h=g*100+l*10+s;
if(isPrimer(o)==isPrimer(h)&&isPrimer(o)==1) cout<<o<<" ";
}
return 0;
}


项目3:特殊三位数

#include<iostream>
using namespace std;
int f(int x)
{
int j=1,i;
for( i=1;i<=x;i++)
j=j*i;
return j;
}
int main()
{
int n,a,b,c;
for(n=100;n<1000;n++)
{
a=n/100;
b=n/10%10;
c=n%10;
if(n==f(a)+f(b)+f(c))
cout<<n;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: