Python和Java编程题(三)
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编程题(三)的更多相关文章
- Python和Java编程题(一)
今天偶尔看到一个博客有贴了五十个编程题,决定以后两天左右做一道题 题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html 1.题目 一个数如 ...
- Python和Java编程题(六)
1.题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个.到第10天早上想再吃时, ...
- Python和Java编程题(四)
1.题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身. 分析:只需要对三位数的数字进行循环(100~999),判断三 ...
- Python和Java编程题(五)
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的 ...
- Python和Java编程题(二)
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21 ...
- 50道经典的JAVA编程题(46-50)
50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...
- 50道经典的JAVA编程题(41-45)
50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...
- 50道经典的JAVA编程题(21-25)
50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧...这题比老师的题好多了! [程序21]TestJieCheng.java题目:求1+2!+3!+...+20!的和1 ...
- 50道经典的JAVA编程题 (16-20)
50道经典的JAVA编程题 (16-20),用了快一个下午来做这10道题了,整理博客的时间貌似大于编程的时间啊..哈哈 [程序16]Nine.java 题目:输出9*9口诀. 1.程序分析:分行与列考 ...
随机推荐
- solr7.7.0搜索引擎使用(四)(搜索语法)
solr搜索语法 参数defType 指定用于处理查询语句(参数q的内容)的查询解析器,eg:defType=lucenesort 指定响应的排序方式:升序asc或降序desc.同时需要指定 ...
- 1.3eigen中数组类和系数的运算
1.3数组类和系数的运算 与矩阵类只适用与线性代数运算相反,数组类提供通用的数组类,能不利用线性代数的知识来对系数进行操作,比如对每个系数加上一个常数,或者乘上两个数组的系数. 1.数组类型 跟矩阵类 ...
- Maven学习 五 Maven项目创建(1)jar项目
第一步:Maven项目的创建 File->new->Maven project. 点击下一步 上方的两个多选框选上,第一个是不使用archetype 原型模板,第二个是使用默认工作空间 点 ...
- 20175316盛茂淞 2018-2019-2 《Java程序设计》第2周学习总结
20175316盛茂淞 2018-2019-2 <Java程序设计>第2周学习总结 教材学习内容总结 1.整数:可细分为为short整数(占2字节),int整数(占4字节),long整数( ...
- Java 装箱和拆箱
1.装箱机制 基础类型引用到其包装类型,这样就可以调用其各种方法. 例如,我们声明: Integer a = 1; 其在编译过程中会自动解释成: Integer a = Integer.valueOf ...
- Python_day6
Δ汉诺塔例子 # 定义三个全局的列表 la = [] lb = [] lc = [] stepn = 0 def create_hano(n): '''构建由n个圆盘组成的汉诺塔''' global ...
- verilog 有符号数运算
1)之前的笔记写过<补码探讨>,可知在FPGA综合成电路的时候最底层都是以补码的形式在运算,正数的补码就是本身,负数的补码要取反+1. (2)那么Verilog中编程的时候对编程人员来说, ...
- springBoot基础2
主要记录上一篇 springBoot基础 中涉及到的pom.项目结构.注解等 首先是pom: 关于pom中这段插件配置: <plugin> <groupId>org.sprin ...
- UIAlertControllerStyleActionSheet 崩溃。
即使Devices 设置为iPhone模式,在审核时还是运行在iPad的小屏模式下.因此必须 UIActivityViewController UIAlertControllerStyleAction ...
- [wxgl] load image fail
微信小游戏 let loader = new THREE.TextureLoader() let texture = loader.load('./images/bullet.png') 报错 参考 ...