鱼C论坛

 找回密码
 立即注册
查看: 2612|回复: 3

关于素数问题 我是不是可以这样写程序

[复制链接]
发表于 2012-3-28 17:54:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 花落、莫相离 于 2012-3-28 18:23 编辑

视频里的程序 算法思想看的我云里雾里的 看不明白  我就按照自己的思路写了个程序 判断是否为素数
为此还特意查了下百度  好象大于1的自然数除了能被自己整除不能被任何数整除的就叫素数
视频里用到了循环  我的程序只用了if else if语句
不知道我这么写对不对  有什么漏洞  本人学历不高 数学也不好  请各位老师帮忙看下这样写可以吗
程序如下

  1. #include <stdio.h>
  2. void main()
  3. {
  4. int a;
  5. printf("请输入任何一个大于1的整数!\n");
  6. scanf("%d",&a);
  7. if(( a == 2 || a == 3 || a == 5 || a == 13 ) && a > 1) // 看这个数是不是 2 3 5 13本身 并且看它是不是大于1
  8.   printf("这个数是素数\n");                          // 如果是 2 3 5 13 本身 并且大于1  那他就是素数
  9. if(( (a!=2&&a%2==0)||(a!=3&&a%3==0)||(a!=5&&a%5==0)||(a!=13&&a%13==0)) && a > 1 )//看这个数在不是2 3 5 13本身 并且大于1的情况下能不能被 2 3 5 13整除
  10.   printf("这个数不是素数\n");  // 如果能被整除 那就不是素数
  11. else if (a != 1)  // 判断这个数是不是不等于1
  12.   printf("这个数是素数\n"); // 如果不等于1 且不满足上述被2 3 5 13整除的条件 那他就是素数
  13. if( a <= 1)  // 判断它是不是小于或等于1
  14.   printf("输入错误\n"); //如果是  就显示输入错误
  15. }
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-28 18:20:19 | 显示全部楼层
不能被2 3 5 13整除不一定是素数.建议还是用循环语句,貌似不用循环语句编不出来.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-3-28 18:22:51 | 显示全部楼层

恩  谢谢啊  我再好好研究研究那个循环语句去   我也觉得用if语句会有很多漏洞   我再研究研究  谢谢啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-3-31 23:10:18 | 显示全部楼层
孩纸   素数十有无穷个的。。。:lol:lol
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 13:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表