首页 > 其他分享 >B2134 质数的和与积

B2134 质数的和与积

时间:2024-03-22 18:33:06浏览次数:12  
标签:int 质数 自然数 样例 B2134 大于

质数的和与积

题目描述

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

输入格式

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

输出格式

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

样例 #1

样例输入 #1

50

样例输出 #1

589
  • 参考程序
#include<bits/stdc++.h>
using namespace std;

bool isp(int n){
//  素数,质数:大于 1的自然数,因子只有 1 和本身 的数
//  合数: 大于 1的自然数,不是素数的数 
//  n -- [2, n-1]
//  n = a*b, a<=b   --- n = a*a  ---- a<=sqrt(n)
    for(int i=2; i<=n/i; i++) if(n%i ==0 ) return 0;
    return n > 1;
}
int main(){
    int s, ans=0; cin>>s;
    for(int a=2; a<=s; a++){
        int b = s-a;
        if(isp(a) && isp(b)) ans=max(ans, a*b);
    }
    cout<<ans;
    return 0;
}

标签:int,质数,自然数,样例,B2134,大于
From: https://www.cnblogs.com/hellohebin/p/18090247

相关文章

  • c++算法学习笔记 (15) 质数
    1.试除法判断某个数是否为质数#include<iostream>usingnamespacestd;constintN=50005;boolis_prime1(intn){//暴力写法:O(n)if(n<2)returnfalse;for(inti=2;i<n;i++){if(n%i==0)returnfalse;......
  • 判断一个数是否为质数
    首先我们要知道质数的定义:一个数只有1和它本身的数称为质数。接下来利用这一性质来写判断质数的代码。packagecom.ty.java;importjava.util.Scanner;publicclassDay2{publicstaticvoidmain(String[]args){Scannery=newScanner(System.in)......
  • HJ6 质数因子
    https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607?tpId=37&tqId=21226&rp=1&ru=%2Fexam%2Foj%2Fta&qru=%2Fexam%2Foj%2Fta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D37&difficulty=undefined&judgeStatus=undefined&tags=&......
  • YBTOJ祭—质数与约数
    目录线性筛素数欧拉筛,老生常谈个人感觉放这道题的代码不如放板子//欧拉筛intprime[maxn];intfactor[maxn];intPrime(intn){intp=0;for(inti=2;i<=n;i++){if(!factor[i]){prime[p++]=i;factor[i]=i;......
  • 质数筛算法详解
    在信息竞赛中,我们总是会遇到很多判断质数的题目,那么在这里就由我来给大家讲解一下质数筛算法(这里所有讲的算法都是基于筛出从\(1\)到\(n\)之间的素数的算法)。1.普通筛法最普通的筛法,也就是将前\(n\)个正整数一个一个来判断是否为素数,并且在判断素数的时候要从\(2\)枚举......
  • 2/23质数
    质数:在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数小于等于N大概有lgN个质数质数的判定试除法 判断一个数N:O(√N)扫描2-√N之间所有整数,一次检查它们能否整除N质数筛:求出小于等于n的所有质数,特判v[1]=1i从小到大,如果i没有被前面的数(比它小的数)标记为合......
  • P1217 [USACO1.5] 回文质数 Prime Palindromes
    [USACO1.5]回文质数PrimePalindromes题目描述因为\(151\)既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以\(151\)是回文质数。写一个程序来找出范围\([a,b](5\lea<b\le100,000,000)\)(一亿)间的所有回文质数。输入格式第一行输入两个正整数\(a\)......
  • 记录关于大质数分解,yafu的报错
    对于大数2071429833816044974954536074368801884287727405454085209645948528393680234127136376615797611252503400431993805403493488086095696658505168448366253578062167331677484261470172644587063010919601667672518341287987046343227762991666913049404040373329559365......
  • 质数基础筛法
    目录埃氏筛线性筛埃氏筛埃氏筛是一种筛素数的方法,埃氏筛的思想很重要,主要是时间复杂度朴素的埃氏筛的时间复杂度是\(O(nlogn)\)这个复杂度是调和级数vector<int>p;intvis[N];voidsolve(){ rep(i,2,n){ if(!vis[i]) p.pb(i); for(intj=i+i;j<=n;j+=i) vis[j]=1; ......
  • 【算法专题】筛质数
    筛质数的三种方法什么是质数?只能够被1和它本身整除的数叫做质数1、朴素筛法那么我们从定义出发,假设我们要判断\(n\)是否是质数,我们从\(1\)开始枚举每一个数,一直到\(n\)看看有没有其他的数能够被\(n\)整除,如果没有,那么\(n\)就是质数。假设我们要筛出从\(1\)~......