1.题目:判断101到200之间有多少个素数,并输出所有素数

题目分析:判断一个数是否为素数,只需要判断这个数有没有除1和它自身外的其他因数。因此,判断这个数能否被2-它的平方根中的任意一个数整除即可。

题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html

程序主要两个主体,一个是对101到200之间的数进行循环,一个是对每个数进行判断。

Java代码实现:

 public class FindPrimeNumber {
/*
* 定义方法FindCount寻找m~n之间的素数
*/
int FindCount(int m,int n){
int Count = 0;
for(int i=m;i<=n;i++) {// 对m~n间的每个数进行判断
int flag = 1;
for(int j=2;j<=i/2;j++) {//判断这个数是否为素数
if(i%j==0) {
flag = 0;
break;
}
}
if(flag==1) {
Count += 1;
System.out.print(i+",");
}
}
return Count;
}
/*
* 上面这个方法其实可以分成两个方法,一个方法对m~n之间的数进行循环
* 一个方法判断这个数是否为素数
*
*/ public static void main(String args[]) {
FindPrimeNumber x = new FindPrimeNumber();
int m=101,n=200;
int Sum = x.FindCount(m, n);
System.out.println("");
System.out.printf("%d到%d之间有%d个素数",m,n,Sum);
}
}

对于Java,如果通过定义两种方法而不是单纯一种方法解决问题,代码应该会更加简洁一些

Python实现:

 # -*- coding: utf-8 -*-
import math
'''
判断x是否为素数,只需对2~sqrt(x)这些数进行判断即可(也可以对2~n/2进行判断)
因为若是有大于sqrt(x)的因数,则必然存在相对应的小于sqrt(x)的因子
使用sqrt()和ceil()方法,因此导入math模块
'''
def FindPrimeNumber(m, n):
Sum = 0;
for x in range(m,n+1):# 对m~n间的数进行循环判断
flag = True
for i in range(2,math.ceil(math.sqrt(x))+1):#这里一定要将sqrt(x)包含进循环之中
if x%i == 0:# 除了1和它本身以外不再有其他因数,称为素数
flag = False
break
if flag == True:
Sum = Sum + 1
print(str(x)+",",end="")#这里使用end=""能控制输出不自动换行
return Sum; if __name__ == '__main__':
M = 101
N = 200
Count = FindPrimeNumber(M, N)
print('\n{}和{}之间有{}个素数'.format(M, N, Count))

Python和Java编程题(三)的更多相关文章

  1. Python和Java编程题(一)

    今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题 题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 1.题目 一个数如 ...

  2. Python和Java编程题(六)

    1.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时, ...

  3. Python和Java编程题(四)

    1.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 分析:只需要对三位数的数字进行循环(100~999),判断三 ...

  4. Python和Java编程题(五)

    题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的 ...

  5. Python和Java编程题(二)

    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21 ...

  6. 50道经典的JAVA编程题(46-50)

    50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...

  7. 50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  8. 50道经典的JAVA编程题(21-25)

    50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧...这题比老师的题好多了! [程序21]TestJieCheng.java题目:求1+2!+3!+...+20!的和1 ...

  9. 50道经典的JAVA编程题 (16-20)

    50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...

随机推荐

  1. mvc输出json时报HTTP Status 406错误

    1.mvc输出json时报HTTP Status 406错误 错误纠结了2天时间,今天总与整对了,少jackson-databind引用 对于Spring 4.1.x 和以上, jackson-dat ...

  2. SPARK安装二:HADOOP集群部署

    一.hadoop下载 使用2.7.6版本,因为公司生产环境是这个版本 cd /opt wget http://mirrors.hust.edu.cn/apache/hadoop/common/hado ...

  3. ahk保存

    python ;把大写禁用了,因为确实基本不用.`表示删除,caplock+ijkl可以控制光标 SetCapsLockState , AlwaysOff ;用;p来替换书写经常不好使,因为输入多个字 ...

  4. 【APP测试(Android)】--安装卸载

  5. The Python Challenge 0-4

    The Python Challenge 0-4 项目地址:http://www.pythonchallenge.com/ Level-0 提示Hint: try to change the URL ...

  6. PostgreSQL和MySQL

    PostgreSQL分布式

  7. js实现粒子特效,particles.js的使用

    今天偶然看到了一个比较炫酷的js网页.是粒子特效的,就试着用了用.一下是步骤,方便以后查看使用. 1.在网站下载源码https://github.com/VincentGarreau/particle ...

  8. Oracle通过序列+触发器实现主键自增

    接触oracle没多久,在建表的时候发现还不会如何设置主键自动增长.和mysql的设置为AUTO_INCREMENT属性相比,要复杂很多,所以现在记录起来. 我使用的是序列+触发器的方式. 现在已经创 ...

  9. YUM仓库安装LAMP与LNMP

    LAMP动态网站部署架构是由一套 Linux+Apache+MySQL+PHP 组成的动态网站系统解决方案. LNMP动态网站部署架构是由一套 Linux+Nginx+MySQL+PHP 组成的动态网 ...

  10. 安装过redis集群,重新做集群办法:

    二:找到问题:这个地方IP的问题,以上是正确的版本,以前有问题的版本的Ip是127.0.0.1, 原因是这个地方以前我没注释redis.conf文件中的bind 127.0.0.1 然后做集群时使用的 ...