第七次C++作业
2016-06-05 15:55
351 查看
1.特殊三位数
#include<iostream> using namespace std; int fact(int); int main() { int m,n,a,b,c; n=100; while(n<1000) { c=n%10; b=(n/10)%10; a=n/100; m=fact(a)+fact(b)+fact(c); if(m==n) cout<<n<<endl; ++n; } return 0; } int fact(int n) { int i, f=1; for(i=1;i<=n;++i) f=f*i; return f; }二、素数和回文
#include<iostream> using namespace std; inline int isPrimer(int n) { int k; for(k=2;k<n;k++) { if(n%k==0) break; } if(k==n) return 1; else return 0; } inline int isPalindrome(int n) { int a,b,c,d; b=n%10; a=n/10%10; c=n/100; if(n<10) d=n; else if(n<100) d=b*10+a; else d=b*100+a*10+c; if(d==n) return 1; else return 0; } inline int fan(int n) { int a,b,c,d; b=n%10; a=n/10%10; c=n/100; if(n<10) d=n; else if(n<100) d=b*10+a; else d=b*100+a*10+c; return d; } int main() { int n,m,i=0,j=0,p=0,r=0; int a[300]={0},b[300]={0},c[300]={0},d[300]={0}; for(n=2;n<=300;n++) { if(isPrimer(n)==1) a[i++]=n; if(isPalindrome(n)==1) b[j++]=n; if((isPalindrome(n)==1)&&(isPrimer(n)==1)) c[p++]=n; if((isPrimer(fan(n))==1)&&(isPrimer(n)==1)) d[r++]=n; } cout<<"300以内的所有素数为:"<<endl; for(m=0;m<i;m++) cout<<a[m]<<" "<<"\t"; cout<<endl; cout<<"300以内的所有回文数为:"<<endl; for(m=0;m<j;m++) cout<<b[m]<<" "<<"\t"; cout<<endl; cout<<"300以内的所有回文素数为:"<<endl; for(m=0;m<p;m++) cout<<c[m]<<" "<<"\t"; cout<<endl; cout<<"300以内的所有可逆素数为:"<<endl; for(m=0;m<r;m++) cout<<d[m]<<" "<<"\t"; cout<<endl; return 0; }
相关文章推荐
- 深入了解c++的动态绑定和静态绑定
- C++第七次实验---最大公约数和最小公倍数
- leetcode 223 Rectangle Area C++
- 图的邻接矩阵表示的C++类实现
- C++虚表的hook
- 每天学点C++知识:尽可能使用枚举类
- 避免多重继承引起的冲突——虚基类
- HDU2001
- C/C++数据对齐
- HDU2000
- c++作业7
- C 过渡 C++ 1
- 步步为营<一> C语言简介 和 编译环境搭建
- C++笔记-类层次结构
- C++中的String类
- leetcode 219 Contains Duplicate II C++
- 算法导论第七章-快速排序-Cpp代码实现
- C++ 私有继承 【GeekBand 第四周】
- c++实验7-最大公约数和最小公倍数
- c++实验7——项目2:最大公约和和最小公倍数