c++作业7
2016-06-05 15:14
204 查看
一、特殊三位数
#include<iostream.h> int fact(int); int main() { int n,a,b,c,d; n=100; while(n<1000) { c=n%10; b=(n/10)%10; a=n/100; d=fact(a)+fact(b)+fact(c); if(d==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 i; for(i=2;i<n;i++) { if(n%i==0) break; } if(i==n) return 1; else return 0; } inline int isPalindrome(int n) { int m,a,b,c; b=n%10; a=n/10%10; c=n/100; if(n<10) m=n; else if(n<100) m=b*10+a; else m=b*100+a*10+c; if(m==n) return 1; else return 0; } inline int fan(int n) { int m,a,b,c; b=n%10; a=n/10%10; c=n/100; if(n<10) m=n; else if(n<100) m=b*10+a; else m=b*100+a*10+c; return m; } int main() { int n,i=0,j=0,p=0,q=0,m; 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[q++]=n; } cout<<"300以内的所有素数为:"<<endl; for(m=0;m<i;m++) cout<<a[m]<<" "; cout<<endl; cout<<"300以内的所有回文数为:"<<endl; for(m=0;m<j;m++) cout<<b[m]<<" "; cout<<endl; cout<<"300以内的所有回文素数为:"<<endl; for(m=0;m<p;m++) cout<<c[m]<<" "; cout<<endl; cout<<"300以内的所有可逆素数为:"<<endl; for(m=0;m<q;m++) cout<<d[m]<<" "; cout<<endl; return 0; }
相关文章推荐
- C 过渡 C++ 1
- 步步为营<一> C语言简介 和 编译环境搭建
- C++笔记-类层次结构
- C++中的String类
- leetcode 219 Contains Duplicate II C++
- 算法导论第七章-快速排序-Cpp代码实现
- C++ 私有继承 【GeekBand 第四周】
- c++实验7-最大公约数和最小公倍数
- c++实验7——项目2:最大公约和和最小公倍数
- C/C++文章目录
- c++实验7-特殊三位数
- 【OS】C语言实现磁盘调度算法--扫描算法
- C++第7次作业
- C++实验7项目3:特殊三位数
- C/C++ 中长度为0的数组
- C++第七次上机作业
- 函数指针的正确理解 from C++ Primer Plus P242
- extern "C" 实现C++ 与 C的混合编程
- C++第七次上机实验
- C++作业7