问题标题: 酷町堂:3837 二进制素数

0
0
已解决
李瑞曦
李瑞曦
高级天翼
高级天翼
#include<iostream>
#include<cmath>
using namespace std;
bool sss(int s){
    if(s==1){
        return false;
    }
    for(int j=2;j<=s-1;j++){
        for(int i=2;i<=sqrt(s);i++){
        if(j%i==0){
            return false;
        }
        }
    }
    return true;
}
int main(){
    long long n;
    cin>>n;
    long long s=0,w,t=1;
    while(n!=0){
        w=n%10;
        s+=w*t;
        t*=2;
        n/=10;
    }
    if(sss(s)==1){
        cout<<"Yes";
    }
    else cout<<"No";
    return 0;
}

 

李瑞曦在2020-05-19 20:04:16追加了内容

为什么37分???求大佬帮忙!!!


1
已采纳
李素妍
李素妍
新手天翼
新手天翼

第8~14行换成

  • 循环{
  • 如果 返回值false;
  • }
1
张恩泽
张恩泽
高级天翼
高级天翼

判断质数的函数 不是这样写的吧

张恩泽在2020-05-19 20:52:50追加了内容
bool zs(int s) {
	if(s==1) {
		return false;
	}
	for(int i=2;i<=s-1;i++) {
		if(s%i==0) {
			return false;
		}
	}
	return true;
}

 

张恩泽在2020-05-20 12:11:29追加了内容
bool zs(int s) {
	if(s==1) {
		return false;
	}
	for(int i=2;i<=sprt(s);i++) {
		if(s%i==0) {
			return false;
		}
	}
	return true;
}

这样写更保险一点

记得加头文件cmath

0
我要回答