2017腾讯编程题----素数对
来源:互联网 发布:php商城开发教程 编辑:程序博客网 时间:2024/06/06 03:33
题目:给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。
如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7))
解析:
import java.util.Scanner;public class Main { public static int calcu(int num){ if(num<=3){ //小于等于3是没有合法的数对的 return 0; } int min=num/2;//为了防止重复计算,可以折半计算 int count=0; if(!isSuShu(num-1)){//意思是有一个素数是1了,剩下的那个如果是素数,直接计数 count++; } for(int i=3;i<=min;i+=2){//从3为第一个素数开始判断了 if((!isSuShu(i))&&(!isSuShu(num-i))){ count++; } } return count; } //判断是否是素数 public static boolean isSuShu(int n){ for(int i=2;i<=Math.sqrt(n);i++){ if(n%i==0){ return true; } } return false; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()){ System.out.println(calcu(scanner.nextInt())); } }}
阅读全文
0 0
- 2017腾讯编程题----素数对
- 腾讯2017秋招笔试编程题--素数对
- 腾讯2017秋招笔试[编程题] 素数对
- 腾讯2017秋招笔试编程题:素数对 [python]
- 素数对--腾讯2017校招编程
- 腾讯2017秋招笔试编程题(三)---素数对
- 腾讯—素数对
- 腾讯2017秋招笔试编程题之素数
- 腾讯模拟考之素数对问题
- 素数对-腾讯2018校招
- 腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题
- 2017年腾讯暑期实习编程题
- 腾讯2017暑期实习生编程题
- 腾讯2017暑期实习生编程题
- 关于如何在gitter聊天软件中发送图片
- Windows & RabbitMQ:集群(clustering) & 高可用(HA)
- RedHat下忘记Mysql的root密码
- 如何用快启动pe修复win10系统引导? 神器
- jQuery——样式与动画
- 2017腾讯编程题----素数对
- 狗和猫有相同的情绪反应吗?
- DBCP连接池
- ubuntu16安装nginx
- java_DateUtil_篇2_去掉时分秒
- if else语句的优化
- 燕麦云何洋开讲丨量子时代将到来,信息安全面临全新挑战
- 国外第三方登录之facebook(登录,获取用户信息,朋友列表等)含demo
- MyBatis使用