C++第七次实验——素数和回文

来源:互联网 发布:阿拉曼战役知乎 编辑:程序博客网 时间:2024/04/29 06:18

一、问题及代码

/*   * 文件名称: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;}
二、运行结果


三、心得体会

函数的编写大大简便了程序行数,不过有点难。。。

四、知识点总结

函数的编写及其调用可以简化编程量


0 0
原创粉丝点击