4138:质数的和与积 百练noi Java枚举
题目来源:
描述:
两个质数的和是S,它们的积最大是多少?
输入:
一个不大于10000的正整数S,为两个质数的和。
输出:
一个整数,为两个质数的最大乘积。数据保证有解。
样例输入:
50
样例输出:
589
Java代码实现:
import java.util.Scanner; public class Main { public static void main(String[] args) { int sum,mul = 0,temp = 0; Scanner sc = new Scanner(System.in); sum = sc.nextInt(); for (int i= (sum/2); i >= 2; i--) { if (prime(i)==1 && prime(sum-i)==1) { temp = i*(sum-i); if (temp >= mul) { mul = temp; } } } System.out.println(mul); } static int prime(int n){ for (int j = 2; j <n; j++) { if (n % j == 0) { return 0; } } return 1; } }
如有错误,欢迎广大博友指正。
希望大家一码风顺,牛气冲天。