首页 > 其他分享 >用方法来求素数!

用方法来求素数!

时间:2024-01-11 13:35:54浏览次数:26  
标签:Scanner int 来求 素数 整除 方法 我们

 1 package excel;
 2 import java.util.Scanner;
 3 public class code12 {
 4     public static void main (String []args){
 5         Scanner sc = new Scanner(System.in );
 6         System.out.print("请输入N:");
 7         int n = sc.nextInt();
 8         int count=0;
 9         System.out.println("1到"+n+"之间的素数有");
10         for (int i =2 ;i<=n;i++){
11 
12             if (isPrime( i)){
13                 System.out.print(i+" ");
14                 count++;
15                 if (count==5){
16                     System.out.println();
17                     count=0;
18                 }
19             }
20 
21         }
22 
23     }
24     public static boolean isPrime(int a){
25         for (int i=2;i<=a/2 ;i++){
26             if (a%i==0){
27                 return false;
28             }
29         }
30 
31     return true;
32 
33   }
34 }

借用方法来素数,

我们先开始来分析这个题目,首先,我们要先清楚什么是素数,在数学里他的解释是只能被1和他本身整除的数不能被其它的数所整除的数。

那我们的思路就有两种:一种是从一开始我们把它一个一个来整除,如果被整除的数只有1和他本身的话那就素数了,那我们就把它输出来。

另一种是我们也是把他们的一个一个来整除,如果在整除的过程中有一个能被他整除的数,那我们就把它打上一个标签,用boolean来把它标志FALSE起来。

后面我就通过for和if语句来吧他们来输出。

具体的过程:我们先确定我们要先求的素数的范围,从键盘获得一个数,确定范围。用Java的Scanner的方法。

接下来我们开始用for循环来表示我们要求哪些数的素数,接下来我就开始来判断我们这些数那些是素数那些不是,

我们开始用方法

 public static boolean isPrime(int a)
创建一个静态的方法
int a是一个形参,用来接主方法的实参
 for (int i=2;i<=a/2 ;i++)
这个形参之所以要除以2是为了减轻代码的运算的效率
if (a%i==0){
27                 return false;
28             }
29         }
30 
31     return true;
如果从主方法中下来的形参于方法中的互相求余,如果等于0,那就说明他不就是素数,那我们返回Boolean的值为FALSE,如果不等于那我们就返回TRUE。
在主方法中我们用if语句来接受布尔值然后打印出来。

标签:Scanner,int,来求,素数,整除,方法,我们
From: https://www.cnblogs.com/jianchiziji/p/17958365

相关文章

  • 实践总结 3 种前端部署后页面检测版本的方法
    领导:为什么每次项目部署后,有的用户要清缓存才能看到最新的页面我:浏览器有默认的缓存策略,如果服务器在响应头中没有禁用缓存,那么浏览器每次请求页面会先看看缓存里面有没有,有的话从缓存取,造成还是取的旧页面。正常来说,用户只需要点击刷新按钮,刷新一下页面就好了,不必清除浏览器缓存......
  • telnetsmtp发送邮件有什么好的方法?
    在今天的数字化时代,电子邮件已经成为人们日常沟通的不可或缺的一部分。而要通过编程实现自动化的邮件发送,则需要涉及到一些特定的协议和工具。其中,telnetsmtp(TelnetSimpleMailTransferProtocol)是一种常用的邮件发送方式之一。在本文中,我们将探讨使用telnetsmtp发送邮件的一些好......
  • 超微主板升级BMC和BIOS固件方法
    Netgate1541是Netgate公司2018年推出的一台1U防火墙设备,采用八核IntelXeon®CPUD1541,千兆和万兆端口各两个,并可扩展网络接口,能实现高达18.8Gbps的路由性能。Netgate1541防火墙实际上使用的是超微SYS-5018D-FN4T平台。2019年自行购入一台,稳定运行至今。考虑系统BMC和BIOS还是......
  • 用试除法来判断100~200之间的素数
    include<stdio.h>include<string.h>include<math.h>intmain()//输出1-100以内的素数(试除法)//{//inta;//intcount=0;//for(a=100;a<=200;a++)//{// intj;//for(j=2;j<a;j++)//{//if(a%j0)// break;//}//if(aj)//{// count++;//printf(&......
  • uniapp封装请求拦截和响应拦截的方法
    uniapp封装请求拦截和响应拦截的方法:https://blog.csdn.net/luoxiaonuan_hi/article/details/129731171?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-129731171-blog-126888238.235^v40^pc_relevant_3m_sort_dl_base2&spm=10......
  • RLAIF方法与传说中的函数'Q',揭露OpenAI那不为人知的Qstar计划
    早晨刚起来,看群里新哥转了这个帖子:   帖子不长,但是基本是爆炸类的新闻了!这个应该也就是Sam之前被董事会诟病的所谓隐瞒了的真相!   在讲解这个帖子之前,先要普及2个概念:1-RLAIF:   不是TGIF,虽然今天确实是周五   RLAIF是Google今年9月新出来的论文,论文地址:23......
  • 【设计模式】模板方法模式——模板方法模式在JDK源码中的应用
    模板方法模式在JDK源码里最典型的实现就是AQSAbstractQueuedSynchronizerAQS(AbstractQueuedSynchronizer)的部分代码如下:publicabstractclassAbstractQueuedSynchronizerextendsAbstractOwnableSynchronizerimplementsjava.io.Serializable{//……代码......
  • ios开发中:当一个 viewcontroller 中嵌套了一个 viewcontroller.view,pushViewcontrolle
    在iOS开发中,当你在一个UIViewController中嵌套另一个UIViewController的视图时,即使嵌套的视图能够正确显示,该嵌套的UIViewController实例可能不会被完全加入到视图控制器层次结构中。这可能导致一些问题,比如无法使用pushViewController:animated:方法进行导航。原因这种......
  • Thread 之 interrupt、isInterrupted、interrupted 方法
    interrupt():打断sleep、wait、join的线程会抛出InterruptedException异常并清除打断标记,如果打断正在运行的线程、park的线程则会重新设置打断标记isInterrupted():不会清除打断标记interrupted():会清除打断标记一、调用interrupt()方法中断正在运行的线程@Slf4j......
  • Xcode14.3.1真机调试iOS17的方法
    Hello,大家好我是咕噜铁蛋!Xcode是苹果官方开发工具,它提供了完整的开发环境和工具集,支持开发iOS、macOS、watchOS和tvOS应用程序。对于iOS开发者来说,Xcode是必备的工具之一。而随着iOS系统的不断更新和升级,Xcode也在不断地升级和改进,确保最好的开发体验。今天铁蛋将介绍如......