m0_56727134 2021-04-11 00:53 采纳率: 50%
浏览 50
已采纳

??为什么超过四位数就不能输出了运行了

#include<iostream>
using namespace std;
bool gt(int num){//判断是否为素数 
    unsigned long long int a=0,q;
    for(q=2;q<num-1;q++){
    if(num%q==0)
        a++;    
}
if(a==0)
    return true;
else
    return false;
}
bool isfive(int c){//判断素数中包含5的个数 
    while(c>0){
        if(c%10==5)
        return true;
        c=c/10;
    }
    
}
int main(){
    int k=0;
    unsigned long long int i=2,j;
    for(i=2;i<=9999;i++){//为什么超过四位数就不能输出了运行了 
    if(gt(i))
    {
        j=i;
        if(isfive(j))
            k++;
        
    }
    
    }
    cout<<i<<endl; 
    cout<<k;
    return 0;
}

  • 写回答

4条回答 默认 最新

  • 关注

    该源码测试没有问题,这样改程序效率更高一些:


    #include "stdio.h"
    int gt(int num){//判断是否为素数 
        int a=0,q;

         //排除1和num自己就可以了,不需要减一
        for(q=2;q<num;q++){
            if(num%q==0){
                a=1;
                break;    
            }
        }
        return a;
    }
    int isfive(int c){//判断素数中包含5的个数 
        while(c>0){
            if(c%10==5)
                return 1;
            c=c/10;
        }
        
    }
    int main(){
        int k=0;
        int i=2;
        for(i=2;i<=99999;i++){
             if(gt(i))
            {
                 if(isfive(i))
                     k++;
            }
        
        }
        printf("i=%d,k=%d\n",i,k);
        return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题