c++作业7

来源:互联网 发布:蓝海文交软件下载 编辑:程序博客网 时间:2024/06/05 12:04

项目1:素数和回文

编制2个返回值为int型的函数,用于判断参数是否为素数和回文,调用函数回答以下问题(请包括在一个main()函数中完成,输出时,用明显的提示语,说明正在完成哪个任务。)

(1)输出300以内的所有素数。
(2)输出300以内的所有回文数。
(3)输出300以内的所有回文素数。

(4)若一个素数的反序数仍为素数,则称它为可逆素数。求300以内的所有可逆素数。

#include<iostream>using namespace std;    int isPrimer(int n){int i;for(i=2;i<n;i++){if(n%i==0)return 0;}return 1;}//判断素数int isPalindrome(int n) {int i,j;if(n<10) return 1;else if(n<100){i=n/10;j=n%10;if(i==j) return 1;}else if(n<300){i=n/100;j=n%10;if(i==j) return 1;}return 0;}//判断回文数int f(int n){int i,j,k,m;if(n<10&&isPrimer(n)==1) return 1;else if(n<100){i=n/10;j=n%10;m=j*10+i;if(isPrimer(n)==1&&isPrimer(m)==1) return 1;}else if(n<300){i=n/100;j=n%100/10; k=n%10;m=k*100+j*10+i;  // c=(n%10)*100+(n%100/10)*10+n/100;  if(isPrimer(n)==1&&isPrimer(m)==1) return 1;}return 0;}//判断可逆素数int main (){int i,j=0,k=0,m=0,n=0;cout<<"输出300以内的所有素数"<<endl;for(i=2;i<=300;i++)  if(isPrimer(i)==1)  {                  cout<<i<<"  ";                  j++;                  if(j%7==0) cout<<endl;  }  cout<<endl;//输出素数cout<<"输出300以内的所有回文数"<<endl;for(i=2;i<=300;i++) if(isPalindrome(i)==1){cout<<i<<"  ";k++;if(k%7==0) cout<<endl;}cout<<endl;//输出回文数cout<<"输出300以内的所有回文素数"<<endl;for(i=2;i<=300;i++) if(isPalindrome(i)==1&&isPrimer(i)==1){cout<<i<<"  ";m++;if(m%7==0) cout<<endl;}cout<<endl;//输出回文素数cout<<"求300以内的所有可逆素数"<<endl;for(i=2;i<=300;i++) if(f(i)==1){cout<<i<<"  ";n++;if(n%7==0) cout<<endl;}//输出可逆素数cout<<endl;return 0;}   



项目4:数组素数排序
定义一个有10个的数组a,将数组a中的所有素数放在数组b,再对数组b排序。

#include <iostream>  using namespace std;  void sort(int p[], int n){  int i,j,k;for(i=0;i<n-1;i++)for(j=0;j<n-i-1;j++)if(p[j]>p[j+1])  {k=p[j];                  p[j]=p[j+1];                  p[j+1]=k; }}//数组排序  bool prime(int x){int l;for(l=2;l<x;l++){if(x%l==0) return 0;}return 1;}//素数判断  void print(int p[],int n){int m;for(m=0;m<n;m++)cout<<p[m]<<" ";cout<<endl;}//输出数组  int main( )     {   int a[10]={2,13,5,47,19,53,27,23,28,11};      int b[10],i,j=0;      for(i=0;i<10;i++)    if(prime(a[i])==1){b[j]=a[i];j++;}//将a中的素数存入b数组      print(b,j); //输出排序前的b数组        sort(b,j);   //对数组b排序      print(b,j);   //输出排序后的b数组      return 0;  }  

                                             
0 0
原创粉丝点击