当前位置: 首页 > news >正文

判断一个数字是否为质数-多语言

目录

C 语言实现

Python 实现

Java 实现

Js 实现


题目:判断一个数字是否为质数。

程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。

C 语言实现

#include <stdio.h>int is_prime(int num) {if (num <= 1) {return 0; // 0 和 1 不是素数}for (int i = 2; i * i <= num; i++) { // 只需检查到 sqrt(num)if (num % i == 0) {return 0; // 找到因数,返回 0 表示不是素数}}return 1; // 没有找到因数,返回 1 表示是素数
}int main() {int number;printf("请输入一个正整数:");scanf("%d", &number);if (is_prime(number)) {printf("%d 是素数\n", number);} else {printf("%d 不是素数\n", number);}return 0; // 正常结束程序
}
  1. 函数 is_prime(int num)

    • 检查输入的数字是否小于或等于 1,如果是,则返回 0(表示不是素数)。
    • 使用一个循环从 2 开始检查到 sqrt(num)(即 i * i <= num),如果找到任何因数,则返回 0。
    • 如果没有找到因数,则返回 1(表示是素数)。
  2. 主函数 main()

    • 提示用户输入一个正整数。
    • 调用 is_prime() 函数判断输入的数字是否为素数,并输出相应的结果。

Python 实现

def is_prime(num):if num <= 1:return False  # 0 和 1 不是素数for i in range(2, int(num**0.5) + 1):  # 只需检查到 sqrt(num)if num % i == 0:return False  # 找到因数,返回 False 表示不是素数return True  # 没有找到因数,返回 True 表示是素数# 主程序
if __name__ == "__main__":number = int(input("请输入一个正整数:"))if is_prime(number):print(f"{number} 是素数")else:print(f"{number} 不是素数")
  1. 函数 is_prime(num)

    • 检查输入的数字是否小于或等于 1,如果是,则返回 False(表示不是素数)。
    • 使用一个循环从 2 开始检查到 sqrt(num)(即 int(num**0.5) + 1),如果找到任何因数,则返回 False
    • 如果没有找到因数,则返回 True(表示是素数)。
  2. 主程序

    • 使用 input() 函数获取用户输入,并将其转换为整数。
    • 调用 is_prime() 函数判断输入的数字是否为素数,并输出相应的结果。

Java 实现

import java.util.Scanner;public class PrimeChecker {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入一个正整数:");int number = scanner.nextInt();if (isPrime(number)) {System.out.println(number + " 是素数");} else {System.out.println(number + " 不是素数");}scanner.close(); // 关闭扫描器}public static boolean isPrime(int num) {if (num <= 1) {return false; // 0 和 1 不是素数}for (int i = 2; i * i <= num; i++) { // 只需检查到 sqrt(num)if (num % i == 0) {return false; // 找到因数,返回 false 表示不是素数}}return true; // 没有找到因数,返回 true 表示是素数}
}
  1. 导入 Scanner 类:用于获取用户输入。
  2. 主类和主方法:定义 PrimeChecker 类和 main 方法。
  3. 用户输入:使用 Scanner 获取用户输入的数字。
  4. 判断素数:调用 isPrime() 方法判断输入的数字是否为素数。
  5. 输出结果:根据判断结果输出相应的信息。
  6. 关闭扫描器:在程序结束时关闭 Scanner 对象以释放资源。

isPrime 方法:

  • 检查输入的数字是否小于或等于 1,如果是,则返回 false(表示不是素数)。
  • 使用一个循环从 2 开始检查到 sqrt(num)(即 i * i <= num),如果找到任何因数,则返回 false
  • 如果没有找到因数,则返回 true(表示是素数)。

Js 实现

function isPrime(num) {if (num <= 1) {return false; // 0 和 1 不是素数}for (let i = 2; i * i <= num; i++) { // 只需检查到 sqrt(num)if (num % i === 0) {return false; // 找到因数,返回 false 表示不是素数}}return true; // 没有找到因数,返回 true 表示是素数
}// 主程序
const input = prompt("请输入一个正整数:");
const number = parseInt(input, 10);if (isPrime(number)) {console.log(`${number} 是素数`);
} else {console.log(`${number} 不是素数`);
}
  1. 函数 isPrime(num)

    • 检查输入的数字是否小于或等于 1,如果是,则返回 false(表示不是素数)。
    • 使用一个循环从 2 开始检查到 sqrt(num)(即 i * i <= num),如果找到任何因数,则返回 false
    • 如果没有找到因数,则返回 true(表示是素数)。
  2. 主程序

    • 使用 prompt() 函数获取用户输入,并将其转换为整数。
    • 调用 isPrime() 函数判断输入的数字是否为素数,并输出相应的结果。

注意:

  • 在浏览器中运行时,prompt() 会弹出一个输入框,用户可以在其中输入数字。
  • 在 Node.js 环境中,你可以使用 readline 模块来获取用户输入,或者直接在代码中指定一个数字进行测试。

http://www.mrgr.cn/news/78626.html

相关文章:

  • Flutter:封装发送验证码组件,注册页使用获取验证码并传递控制器和验证码类型
  • 【AI系统】昇腾 AI 架构介绍
  • java缓存技术点介绍
  • 【单片机毕业设计12-基于stm32c8t6的智能称重系统设计】
  • 亚马逊开发视频人工智能模型,The Information 报道
  • Unity类银河战士恶魔城学习总结(P149 Screen Fade淡入淡出菜单)
  • string接口模拟实现2
  • 18. C++STL 4(vector的使用, 空间增长, 迭代器失效详解)
  • HCIA笔记6--路由基础
  • 【真正离线安装】Adobe Flash Player 32.0.0.156 插件离线安装包下载(无需联网安装)
  • 透视投影(Perspective projection)与等距圆柱投影(Equirectangular projection)
  • GateWay使用手册
  • gcc编译
  • 如何在Spark中使用gbdt模型分布式预测
  • HTML飞舞的爱心(完整代码)
  • HarmonyOS Next 模拟器安装与探索
  • 十四(AJAX)、AJAX、axios、常用请求方法(GET POST...)、HTTP协议、接口文档、form-serialize
  • 基于vite创建一个脚手架(快速入门)
  • 【Gitlab】CICD使用minio作为分布式缓存
  • 【OJ】前K个高频单词和单词识别和两个数组的交集
  • PyG教程:MessagePassing基类
  • Java ConcurrentHashMap
  • HTTP 1
  • Java Collection
  • uniapp连接mqtt频繁断开原因和解决方法
  • 【组成原理】计算机硬件设计——ALU