搜索
查看: 994|回复: 9
打印 上一主题 下一主题

这是怎么回事

[复制链接]
跳转到指定楼层
楼主
发表于 2013-12-19 21:50:59 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
5啊哈币

下面这个求质数的程序,当我输入位数较大的数时,如123484654564时,电脑显示是质数,怎么回事

#include <stdio.h>
#include <stdlib.h>
int main()
{
        int a,b,c;
    c=0;
    scanf("%d",&b);
    for(a=2;a<b;a++)
        {
                if(b%a==0)
                {
                        c=1;
                         printf("%d\n",a);
                }
        }
    if(c==0)
                printf("质数\n");
    else
        printf("合数\n");
        system("pause");
        return 0;
}

WP_20131219_21_29_33_Pro (2).jpg (59.08 KB, 下载次数: 9)

WP_20131219_21_29_33_Pro (2).jpg
沙发
 楼主| 发表于 2013-12-20 07:49:09 来自手机 | 显示全部楼层
rosynirvana 发表于 2013-12-20 00:50 123484654564 > 2^31 - 1 一个int已经放不下了

谢谢。。。(如果想解决这个问题,可以研究一下用C实现无限精度运算和Rabin-Miller素性测试)。。。这个不懂
板凳
 楼主| 发表于 2013-12-22 18:03:38 | 显示全部楼层
谢谢了,涨知识了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表