C++第七次实验——素数和回文
2016-06-05 22:48
323 查看
一、问题及代码
三、心得体会
函数的编写大大简便了程序行数,不过有点难。。。
四、知识点总结
函数的编写及其调用可以简化编程量
/* * 文件名称:1.cpp * 作 者:高琨 * 完成日期:2016 年 6月 5日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分:输出300以内素数,回文数,回文素数,可逆素数 * 输入描述:无 * 问题描述:略 * 程序输出:略 * 问题分析:冒泡法循环数组 * 算法设计:无 */ #include<iostream.h> int isPrimer(int n) { int i,k,j=1; for(i=2;i<n;i++) { k=n%i; if(k==0) { j=0;break; } } return j; }; int isPalindrome(int n) { int i,j=0,k=1; i=n; while(i!=0) { j=j*10+i%10; i=i/10; } if(j!=n) k=0; return k; }; int main() { int i,j=0,k=0,m=0,n=0,x,y,a[100],b[100],c[100],d[100]; for(i=2;i<300;i++) { if(isPrimer(i)) { a[j++]=i; x=i; y=0; while(x!=0) { y=y*10+x%10; x=x/10; } if(isPrimer(y)) { b[k++]=i; } } if(isPalindrome(i)) { c[m++]=i; if(isPrimer(i)) d[n++]=i; } } cout<<m<<n; cout<<"300以内所有素数:"<<endl; for(i=0;i<j;i++) { cout<<a[i]<<"\t"; if((i+1)%7==0) cout<<endl; } cout<<endl<<"300以内所有回文:"<<endl; for(i=0;i<m;i++) { cout<<c[i]<<"\t"; if((i+1)%7==0) cout<<endl; } cout<<endl<<"300以内所有回文素数:"<<endl; for(i=0;i<n;i++) { cout<<d[i]<<"\t"; if((i+1)%7==0) cout<<endl; } cout<<endl<<"300以内所有可转素数:"<<endl; for(i=0;i<k;i++) { cout<<b[i]<<"\t"; if((i+1)%7==0) cout<<endl; } return 0; }二、运行结果
三、心得体会
函数的编写大大简便了程序行数,不过有点难。。。
四、知识点总结
函数的编写及其调用可以简化编程量