acm书中题目 r-18

来源:互联网 发布:ps淘宝详情页制作 编辑:程序博客网 时间:2024/05/16 06:15

题目大概:

一个数的两个因子(不是1和他本身)都是素数,则它是半素数。输出。

思路:

先找到这个数的两个因子,然后判断是否都为素数。

感想:

比以前的求素数稍微提高了一点麻烦程度。只是刚开始遇见个那几个有关素数的单词不认识。

代码:

#include <iostream>#include <cmath>using namespace std;int main(){int n;while(cin>>n){    int k,p=1,d=1,y=1;for(int i=2;i<=sqrt(n);i++){if(n%i==0){k=n/i;for(int t=2;t<=sqrt(i);t++){   if(i==2)break;    if(i%t==0)p=0;}for(int t=2;t<=sqrt(k);t++){    if(k==2)break;    if(k%t==0)d=0;}if(p&&d){cout<<"Yes"<<endl;y=0;break;}}}if(y)cout<<"No"<<endl;}    return 0;}


0 0
原创粉丝点击