10/22今天学到了函数才知道这个多简单,唉! 下面是之前没学函数时写的: 我先设置了三个变量a,b,c 想要做出强素数,首先要明白几点: 1,我输入的b要是一个素数 2,a是比b小的数字,首先要保证它存在(即a也要是一个素数) 3,c是比b大的素数,一定会找出一个素数c 4,找出后比较公式,b>(a+b)/2 ,如果成立则证明b是一个强素数 下面就是成品啦!!!
#include<iostream> using namespace std; int main() //强素数 { int a=0,b,c; //b为所输入的数字,a和c分别为b前面和后面的数字。 int i; //i是一个计算过程中的判断变量。 cout<<"请输入一个数字,判断这个数字是不是强素数。"<<endl; cin>>b; for(i=2;i<b;i++) //判断b是不是素数 { if(b%i==0) { cout<<b<<"不是一个素数,所以它不可能会有强素数的。"; break; } } if(b==i) //如果b==i代表循环完成后还是没有能够被b整除的素,则b是素数,进行求a程序。 { cout<<b<<"是一个素数," ; for(a=b-1;a>=2;a--) //找出a { for(i=2;i<a;i++) //判断此时的a是不是素数。 { if(a%i==0) break; } if(a==i) { break; } } if(a==1) //如果b之前不存在一个素数a,那么他就不可能会是一个强素数。 cout<<"但是"<<b<<"之前不存在素数,所以"<<b<<"不是强素数"; else //a!=1代表循环完成后还是没有能够被a整除的素,则a是素数,继续下面求c程序。 { for(c=b+1;;c++) //求c程序,不设置条件是因为不知道什么时候才是头啊。 { for(i=2;i<c;i++) //判断此时的c是否为素数 { if(c%i==0) break; } if(c==i) //如果c==i说明上个循环完整进行则说明此c为素数,打破求c程序的大循环。 break; } if(b>(a+c)/2) //判断b是否为强素数 ,并且输出语句。 cout<<"而且是一个强素数。"; else cout<<"但它不是一个强素数" ; } } return 0; }