五十道编程题目02 打印101至200之间的素数

2024-05-01 01:58

本文主要是介绍五十道编程题目02 打印101至200之间的素数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

------------------------------------------------------------------------------------------------------------------------

题目:判断101-200之间有多少个素数,并输出所有素数。 
   1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 
                则表明此数不是素数,反之是素数。

五十道编程题目的帖子:http://blog.csdn.net/typ0520/article/details/7882441

-----------------------------------------------------------------------------------------------------------------------

结果:101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 

唉,一时脑子没转过来弯,忘记了%(取余)这个运算符了,先开始思路放在转成double类型然后除循环的那个数,然后转为字符串,截取小数点后面的字符串,在根据这个判断,真是脑子被门夹了,写这写着突然想起来了,一个%搞定。

这个程序使得我更加明白,写代码之前一定要整理好思路(我想干什么,我可以干什么,我应该怎么做),然后碰到具体的细节时在琢磨,不然的话一个程序员拿到一个项目,不管三七二十一,上来就写代码,只会越写越糊涂,顾冬顾不住西,最后加班赶工期的也会是这样的程序员。加油喽,努力让自己做的更好

代码如下:

public class PrimeNumberTest {
/* 题目:判断101-200之间有多少个素数,并输出所有素数。 
 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 
    则表明此数不是素数,反之是素数。 */
public static void main(String[] args) {
for (int i = 101;i <= 201;i++) {
Number num = new Number(i);
if (num.isPrime()) {
System.out.print(i + " ");
}
}
}
}
class Number {
private int number;
private boolean prime;
public Number(int number) {
this.number = number;
this.prime = true;
defineType();
}
public void defineType() {
if (number <= 1) {
this.prime = false;
return;
}
int sqrtNum = (int)Math.sqrt((double)number);
for (int i = 2;i <= sqrtNum;i++) {
if (number % i == 0) {
this.prime = false;
break;
}
}
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public boolean isPrime() {
return prime;
}
}

这篇关于五十道编程题目02 打印101至200之间的素数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950454

相关文章

MySQL的JDBC编程详解

《MySQL的JDBC编程详解》:本文主要介绍MySQL的JDBC编程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、前置知识1. 引入依赖2. 认识 url二、JDBC 操作流程1. JDBC 的写操作2. JDBC 的读操作总结前言本文介绍了mysq

Python异步编程之await与asyncio基本用法详解

《Python异步编程之await与asyncio基本用法详解》在Python中,await和asyncio是异步编程的核心工具,用于高效处理I/O密集型任务(如网络请求、文件读写、数据库操作等),接... 目录一、核心概念二、使用场景三、基本用法1. 定义协程2. 运行协程3. 并发执行多个任务四、关键

AOP编程的基本概念与idea编辑器的配合体验过程

《AOP编程的基本概念与idea编辑器的配合体验过程》文章简要介绍了AOP基础概念,包括Before/Around通知、PointCut切入点、Advice通知体、JoinPoint连接点等,说明它们... 目录BeforeAroundAdvise — 通知PointCut — 切入点Acpect — 切面

C#异步编程ConfigureAwait的使用小结

《C#异步编程ConfigureAwait的使用小结》本文介绍了异步编程在GUI和服务器端应用的优势,详细的介绍了async和await的关键作用,通过实例解析了在UI线程正确使用await.Conf... 异步编程是并发的一种形式,它有两大好处:对于面向终端用户的GUI程序,提高了响应能力对于服务器端应

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

Java实现预览与打印功能详解

《Java实现预览与打印功能详解》在Java中,打印功能主要依赖java.awt.print包,该包提供了与打印相关的一些关键类,比如PrinterJob和PageFormat,它们构成... 目录Java 打印系统概述打印预览与设置使用 PageFormat 和 PrinterJob 类设置页面格式与纸张

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin