算法小题2→素数
2012-04-26 10:53
211 查看
题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
public class lianxi02 {
public static void main(String[] args) {
int count = 0;
for(int i=101; i<200; i+=2) {
boolean b = false;
for(int j=2; j<=Math.sqrt(i); j++)
{
if(i % j == 0) { b = false; break; }
else { b = true; }
}
if(b == true) {count ++;System.out.println(i );}
}
System.out.println( "素数个数是: " + count);
}
}
PS:
有事会遇到1—100之间的素数、看清楚了、换个数字即可。
明白其中的逻辑才是最重要的。
解决一个问题的途径不止一种、类似素数的题还有其他的解法、
例如:
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
boolean fg = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
fg = false;
break;
}
}
if (fg == true)
System.out.println( + i);
}
}
天热了、喝饮料吧。
http://my.csdn.net/se_xiaofeng
Welcome to my blog!
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。
public class lianxi02 {
public static void main(String[] args) {
int count = 0;
for(int i=101; i<200; i+=2) {
boolean b = false;
for(int j=2; j<=Math.sqrt(i); j++)
{
if(i % j == 0) { b = false; break; }
else { b = true; }
}
if(b == true) {count ++;System.out.println(i );}
}
System.out.println( "素数个数是: " + count);
}
}
PS:
有事会遇到1—100之间的素数、看清楚了、换个数字即可。
明白其中的逻辑才是最重要的。
解决一个问题的途径不止一种、类似素数的题还有其他的解法、
例如:
public static void main(String[] args) {
for (int i = 1; i <= 100; i++) {
boolean fg = true;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
fg = false;
break;
}
}
if (fg == true)
System.out.println( + i);
}
}
天热了、喝饮料吧。
http://my.csdn.net/se_xiaofeng
Welcome to my blog!
相关文章推荐
- 素数推断算法(高效率)
- 判断素数的算法
- 素数及素数筛选算法训练基础题(一)
- 通过求素数算法管窥STL中vector、list、deque的性能
- 简单的算法题,包括1.打印100——200之间的的素数2.输出乘法口诀表3.判断1000年——2000年之间的闰年,给出完整代码
- 算法总结:判断一个数是否为素数
- 素数算法的不同等级
- 算法提高 Torry的困惑(提高型) (筛选素数)
- 算法:从键盘循环输入一个整数,判断是否是素数\质数
- 生成素数的算法1,2,3
- 素数算法--之玩转代码
- 关于素数验证算法
- 素数推断算法(高效率)
- 【知识点】大数分解与素数判定 --- 【Miller-rabin算法】【pollard-rho算法】
- 【转】大素数判断和素因子分解【miller-rabin和Pollard_rho算法】
- 常见的算法小题
- Miller-Rabin素数检测算法
- 【算法】计算机图形学的一些经典小题:判断点在多边形内,随机生成三角形内的点,判断两个矩形是否相交等
- 筛法:一种高效求解素数表的算法
- Miller_Rabin 算法进行素数测试和分解