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

求助:计算最大素数

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-2 17:27:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
输入范围n  计算n以内的最大素数    不知道哪儿出问题了
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main(int argc, char *argv[])
  4. {   int n,i=2,a=1;
  5.     scanf("%d",&n);
  6.     while(n>4)
  7.         {   while (a!=0)  
  8.                    {a=n%i; i=i+1; if(i==n) goto k;}
  9.              a=1;i=2;n=n-1;
  10.          }
  11.    k:printf("The max prime number is %d.\n",n);
  12.    system("PAUSE");       
  13.    return 0;
  14. }
复制代码



最佳答案

查看完整内容

给你个我的写法吧
沙发
发表于 2014-4-2 17:27:42 | 只看该作者
给你个我的写法吧
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>

  4. int is_prime(int n)
  5. {
  6.         int upper = sqrt(n);
  7.     int i;
  8.     for(i = 2; i <= upper; ++i)
  9.                 if(n % i == 0)
  10.                         return 0;
  11.     return 1;
  12. }

  13. int max_prime_ngt(int n)
  14. {
  15.         int i;
  16.     for(i = n; i >= 2; --i)
  17.                 if(is_prime(i))
  18.                         return i;
  19.     return -1;
  20. }

  21. int main(int argc, char *argv[])
  22. {   int n,i=2,a=1;
  23.         int x;
  24.     /*scanf("%d",&n);*/
  25.     for(x = 100; x >= 5; --x)
  26.                 printf("%d\n", max_prime_ngt(x));
  27.    system("PAUSE");        
  28.    return 0;
  29. }
复制代码
板凳
发表于 2014-4-2 18:34:40 | 只看该作者
好像木有问题吧~!
地板
发表于 2014-4-2 18:50:26 | 只看该作者
本帖最后由 rosynirvana 于 2014-4-2 19:00 编辑

n = 4时直接失败
5#
 楼主| 发表于 2014-4-2 20:49:43 | 只看该作者

对啊  就是 goto为什么没法跳while嵌套
6#
发表于 2014-4-2 21:19:41 | 只看该作者
n定义为int型最大值为2147483647
7#
 楼主| 发表于 2014-4-2 21:45:11 | 只看该作者
wujngmin 发表于 2014-4-2 21:19
n定义为int型最大值为2147483647

呃  这个题可以不用考虑到那么大
8#
 楼主| 发表于 2014-4-2 22:59:59 | 只看该作者
好吧没问题了  不知道什么情况这个程序可以运行
9#
发表于 2014-4-2 23:37:50 | 只看该作者
ls8062464 发表于 2014-4-2 20:49
对啊  就是 goto为什么没法跳while嵌套

可以从里面跳出来,不能跳进去
不过对于n = 4或者n = 1这些情况无关的吧
10#
 楼主| 发表于 2014-4-4 19:50:33 | 只看该作者
rosynirvana 发表于 2014-4-3 00:12
给你个我的写法吧

ThX a lot     
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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