质数的和与积
题目描述
两个质数的和是S,它们的积最大是多少?
输入格式
一个不大于10000的正整数S,为两个质数的和。
输出格式
一个整数,为两个质数的最大乘积。数据保证有解。
输入输出样列
输入样例1:复制
50
输出样例1:复制
589
【耗时限制】1000ms 【内存限制】64MB
质数的和与积c++求解。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
_GX_ 2022-03-02 21:40关注#include <iostream> #include <cmath> using namespace std; bool isprime(int x) { if (x < 2) return false; int n = static_cast<int>(sqrt(x)); for (int i = 2; i <= n; i++) if (x % i == 0) return false; return true; } int main() { int s, r = 0; cin >> s; for (int i = 2; i < s - 2; i++) { int j = s - i; if (isprime(i) && isprime(j)) { int k = i * j; if (k > r) r = k; } } cout << r; return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 2无用