文章

9

粉丝

0

获赞

0

访问

2.6k

头像
判断素数 题解:为什么只通过60%呢 请找出错误输入 谢谢!
P1013 贵州大学机试题
发布于2024年3月13日 11:22
阅读数 364

#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int flag=0;    
    if(n<=1){
        cout<<2<<endl;
        return 0;}
    for(int i=2;i<n;i++){
        if(n%i==0){
            flag=1;
            break;}
        }
   // cout<<"flag="<<flag<<endl;
    if(flag==0)
        cout<<n<<endl;
    if(flag==1){
        for(int i=n+1;i<10000;i++){
            flag=0;
            for(int j=2;j<i;j++){
                if(i%j==0){
                  &n...

登录查看完整内容


登录后发布评论

4 条评论
snake
2024年3月13日 11:58

1

赞(0)

A001 : 回复 snake: 我已修改这个错误,但只通过80%,你可以再帮我看看吗?感谢你~!

2024年3月13日 13:39

Djiangxu : 回复 A001: 你好,我刚刚80%卡了一会,是关于循环范围有界的数据,没过的那个数据有可能是接近10000的非素数,这个时候你要输出的数据是10007,而在你循环求解的过程中由于有界限的问题不能达到10007,可能输出的是10001而导致错误。

2024年3月13日 16:03

A001 : 回复 Djiangxu: 啊 解决了 谢谢你~~~

2024年3月13日 16:17