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

质数的和与积

质数的和与积

      • C语言代码
      • C++ 代码
      • Java代码
      • Python代码


💐The Begin💐点点关注,收藏不迷路💐

两个质数的和是S,它们的积最大是多少?

输入

一个不大于10000的正整数S,为两个质数的和。

输出

一个整数,为两个质数的最大乘积。数据保证有解。

样例输入

50

样例输出

589

C语言代码

#include <stdio.h>
#include <stdbool.h>

// 判断一个数是否为质数
bool isPrime(int num) {
    if (num < 2) return false;
    for (int i = 2; i * i <= num; i++) { // 从2到根号num判断能否整除
        if (num % i == 0) return false;
    }
    return true;
}

int main() {
    int s;
    scanf(“%d”, &s);
    int maxProduct = 0;
    for (int i = 2; i <= s / 2; i++) { // 只需遍历到和的一半即可
        if (isPrime(i) && isPrime(s - i)) { // 判断i和s-i是否都是质数
            int product = i * (s - i);
            if (product > maxProduct) { // 更新最大乘积
                maxProduct = product;
            }
        }
    }
    printf(“%d\n”, maxProduct);
    return 0;
}

C++ 代码

#include <iostream>
#include <cmath>
using namespace std;

// 判断一个数是否为质数
bool isPrime(int num) {
    if (num < 2) return false;
    for (int i = 2; i <= sqrt(num); i++) { // 从2到根号num判断能否整除
        if (num % i == 0) return false;
    }
    return true;
}

int main() {
    int s;
    cin >> s;
    int maxProduct = 0;
    for (int i = 2; i <= s / 2; i++) { // 只需遍历到和的一半即可
        if (isPrime(i) && isPrime(s - i)) { // 判断i和s-i是否都是质数
            int product = i * (s - i);
            if (product > maxProduct) { // 更新最大乘积
                maxProduct = product;
            }
        }
    }
    cout << maxProduct << endl;
    return 0;
}

Java代码

import java.util.Scanner;

public class PrimeSumProduct {
     // 判断一个数是否为质数
    static boolean isPrime(int num) {
        if (num < 2) return false;
        for (int i = 2; i * i <= num; i++) { // 从2到根号num判断能否整除
            if (num % i == 0) return false;
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int s = scanner.nextInt();
        int maxProduct = 0;
        for (int i = 2; i <= s / 2; i++) { // 只需遍历到和的一半即可
            if (isPrime(i) && isPrime(s - i)) { // 判断i和s-i是否都是质数
                int product = i * (s - i);
                if (product > maxProduct) { // 更新最大乘积
                    maxProduct = product;
                }
            }
        }
        System.out.println(maxProduct);
    }
}

Python代码

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num ** 0.5) + 1): // 从2到根号num判断能否整除
        if num % i == 0:
            return False
    return True

s = int(input())
max_product = 0
for i in range(2, s // 2 + 1): // 只需遍历到和的一半即可
    if is_prime(i) and is_prime(s - i): // 判断i和s-i是否都是质数
        product = i * (s - i)
        if product > max_product: // 更新最大乘积
            max_product = product
print(max_product)

在这里插入图片描述


💐The End💐点点关注,收藏不迷路💐
http://www.lryc.cn/news/503035.html

相关文章:

  • 数据结构 (35)分配类排序
  • Cesium隐藏默认控件
  • Spark SQL 执行计划解析源码分析
  • rabbitMq举例
  • 奇怪的知识又增加了:ESP32下的Lisp编程=>ULisp--Lisp for microcontrollers
  • 渗透测试之信息收集
  • 基本分页存储管理
  • SQLServer到MySQL的数据高效迁移方案分享
  • 软考:工作后再考的性价比分析
  • shell编程(完结)
  • UNIX数据恢复—UNIX系统常见故障问题和数据恢复方案
  • adb连接逍遥安卓模拟器失败的问题解决方案
  • 【昇腾】NPU ID:物理ID、逻辑ID、芯片映射关系
  • Three.js曲线篇 8.管道漫游
  • scala基础_数据类型概览
  • 【LeetCode刷题之路】622.设计循环队列
  • 暂停一下,给Next.js项目配置一下ESLint(Next+tailwind项目)
  • Windows系统磁盘与分区之详解(Detailed Explanation of Windows System Disks and Partitions)
  • 顺序表的使用,对数据的增删改查
  • XDMA与FPGA:高效数据传输的艺术
  • #思科模拟器通过服务配置保障无线网络安全Radius
  • 浅谈Python库之pillow
  • Android通过okhttp下载文件(本文案例 下载mp4到本地,并更新到相册)
  • 计算机网络从诞生之初到至今的发展历程
  • Kudu 源码编译-aarch架构 1.17.1版本
  • SEC_ASA 第二天作业
  • 操作系统(5)进程
  • 6_Sass 选择器函数 --[CSS预处理]
  • 考研数学【线性代数基础box(数二)】
  • ModbusTcp获取数据