python3判断输入的数是否为素数

首先,需要明确什么是素数?

  素数:又称质数,指在大于1的自然数中,除了1和该数本身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数)。

  举个例子:5---除了能被1或5整除外,再也找不到第三个可以整除它的自然数了。那么5就是素数。

那么,如果用程序如何来判断它是不是素数?

实现思路:

1 需要先输入一个被判断的数字并赋值给 Number
2 判断这个数符不符合“Number > 1”的规则,如果不符合就结束循环,如果符合就去检验是不是素数
3 如果能被1到Number之间的任意一个正整数整除就可以判断为不是素数,即可结束循环
4 如果1至Number之间所有的正整数都不能整除,那么就是素数,即可结束循环

有了思路,咱们来看具体要怎么实现:

Number = int(input("请输入一个数字:"))          # 输入一个正整数,并赋值给Number
if Number > 1:                                 # 判断输入的正整数是否大于1
    for i in range(2,Number):                  # 循环取出2至Number-1的正整数 i
        if Number % i == 0:                    # 将Number与i取余,如果余数为0 ,则就可以被整除
            print ("数字%s不是素数" % Number)
            break                              # 不是素数,结束循环
    else:
        print("数字%s是素数" % Number)           # 否则就是素数,打印结果
else:
    print("输入的数字小于1,不合法")

对于这段代码,有个地方要注意:

  else没有和if是一对,而是和for并排的,else与for搞到了一起,凑成了一对,我们常见的是if…else…或者if…elif…else诸如此类,但其实for也可以和else搭配出现,在这段代码里,当某一次遍历结果余数为0后,break生效,那循环就结束了。就这样完了,就是上边思路中的第三点。

最后来看看不同情况的结果:

请输入一个数字:17
数字17是素数

请输入一个数字:-10
输入的数字小于1,不合法

请输入一个数字:9
数字9不是素数

原文地址:https://www.cnblogs.com/Zhan-W/p/11519708.html

时间: 2024-10-14 08:48:51

python3判断输入的数是否为素数的相关文章

java判断输入的数是不是素数

1 package test; 2 3 import java.util.Scanner; 4 5 //判断输入的数是不是素数 6 public class Test18 { 7 public static void main(String[] args) { 8 Scanner s = new Scanner(System.in); 9 System.out.println("输入判断的数"); 10 int a = s.nextInt(); 11 for(int i=2 ; i&l

java 判断输入的数是奇数还是偶数

package com.wenshi.foreach; import java.util.Scanner; public class test1 {//创建类test1 public static void main(String args[]){//主方法 int x;//声明变量x System.out.println("请输入x的值: "); Scanner in = new Scanner(System.in);    //Scanner类 // System.out.prin

判断输入的数,正数多少个。负数多少个, 到零时退出程序

1 public static void main(String[] args) { 2 Scanner sc=new Scanner(System.in); 3 System.out.println("请开始输入"); 4 int input=sc.nextInt(); 5 int zhengshu=0; 6 int fushu=0; 7 while(input!=0){ 8 if(input>0){ 9 zhengshu++; 10 }else{ 11 fushu++; 12

js控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数

[Html代码] <table> <tr> <td width="150">短信内容:</td> <td> <textarea name="message" cols="96" rows="5" onKeyDown="textCounter(message,remLen,65);" onKeyUp="textCounter(mess

shell脚本编程设计——根据输入的数输出菱形、三角形或者数字金字塔(带闪烁颜色)

shell脚本编程设计--根据输入的数输出菱形.三角形或者数字金字塔(带闪烁颜色) shell脚本程序和解释如下 #!/bin/bash #创建死循环,当输入出错或者输入"quit"字符串退出脚本程序 while true do #等待用户输入 read -p "请输入一个不大于20的正整数(输入"quit"则退出):" n #先判断字符串是否是quit if [ "$n" == "quit" ] then

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

package com.heima.Coding; /* 判断101-200之间有多少个素数(质数),并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数.*/ public class Test { public static void main(String[] args) { int count = 0; for (int i = 100; i < 200; i++) { for (int j = 2; j <=

判断输入的字符串是否是回文数

<?phpfunction yuanyincount($str){ $str_len=strlen($str); $a_count=0; $e_count=0; $i_count=0; $o_count=0; $u_count=0; $other_count=0; //五种原因字母的数组,没写输出 $a_arr=array(); $e_arr=array(); $i_arr=array(); $o_arr=array(); $u_arr=array(); $other_arr=array();

判断大于二的数是否为素数

法一:当输入的数值n不大时,用输入的数n除以2-(n-1) #include <stdio.h> #include <stdlib.h> int main() { int n,i,flag=0; scanf("%d",&n); for(i=2;i<n;i++) { if(n%i==0) { flag++; } } if(flag==0) printf("%d 是素数\n",n); else printf("%d 不是素

JS(javascript)动态判断输入文本框剩余可输入字符数

一.描述 我们在空间中发表状态,当我们输入一个字符,上面的剩余可输入字符数就会减一,直到输入的字符数达到之前设定的最大数量为止,效果如下图所示: 二.实现方法 首先,我们先确定文本框内的最大可输入长度,其次在输入一个字符抬起键盘的时候对输入文本框中的字符长度进行验证,并在动态显示在剩余可输入字符数中. 三.源代码 <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="