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

大连网站开发多少钱用自己的电脑做网站划算

大连网站开发多少钱,用自己的电脑做网站划算,二维码扫描,视频如何导入wordpress选素数 小蓝有一个数 x,每次操作小蓝会选择一个小于 x 的素数 p,然后在 x 成为 p 的倍数前不断将 x 加 1,(如果 x 一开始就是 p 的倍数则 x 不变)。 小乔看到了小蓝进行了 2 次上述操作后得到的结果 n,他想…

选素数

小蓝有一个数 x,每次操作小蓝会选择一个小于 x 的素数 p,然后在 x 成为 p 的倍数前不断将 x 加 1,(如果 x 一开始就是 p 的倍数则 x 不变)。
小乔看到了小蓝进行了 2 次上述操作后得到的结果 n,他想知道 x 在一开始是多少。如果有多种可能,他想知道 x 一开始最小可以是多少,而如果不存在任何解,说明小乔看错了,此时请输出 −1。
输入格式
输入一行包含一个整数 n,表示经过两次操作后 x 的值。
输出格式
输出一行包含一个整数表示 x 的初始值。如果有多个解,输出最小的。如果不存在解,请输出 −1

这个题主要考察质因数分解和质数判断
首先质数的判断,这个太常见了,这里就不多赘述

private static boolean isPrime(int n){if (n<2)return false;if (n==2||n==3)return true;if (n%6!=1&&n%6!=5)return false;for (int i = 5; i*i<= n ; i+=6) {if (n%i==0||n%(i+2)==0){return false;}}return true;}

然后是质因数分解,这里用了 List 集合去装分解出来的质数

private static List<Integer> prime(int n){List<Integer> ans  = new LinkedList<>();for(int i = 2; i <= n/i ; i++){//判断条件用n/i,以防i*i<=n发生溢出int a = 0;//每次循环都要清零while(n % i == 0){n /= i;a++;}if(a > 0)ans.add(i);}//若该数是质数,那么应该将自身(n)也加入if(n > 1) ans.add(n);return ans;}

最后就是根据题意进行模拟,a0→a1→ a2
(依次进行第一次操作、第二次操作)。

import java.util.*;//导入万能类 当然也不是很万能
public class Main {static List<Integer> oList = new LinkedList<>();//需要用到的集合public static void main(String[] args) {//标准输入 一个nScanner sc  = new Scanner(System.in);int n = sc.nextInt();if (isPrime(n)){//如果输入数为质数,那么打印-1。因为我们的n应该是质数的倍数,且必须至少为2倍(题目中说了选择一个小于x的素数p,所以至少是2倍)。System.out.println("-1");}else {oList = prime(n);//对其质因数分解,并用集合装好int minstart = Integer.MAX_VALUE;//定义所求的最小开始的a0,赋值为Integer最大值,为了后面获取最小值for (int i = 0; i < oList.size(); i++) {//遍历质因数集合int last_left = n-oList.get(i);//下面对第一次操作后可能的数组遍历for (int j = last_left+1; j <= n ; j++) {//这里的范围为什么是从last_left+1到n//假设第二次操作选择的是oList.get(i)作为质数,那么第二次操作前的数(a1)不会小于n-oList.get(i)//上次操作前的数字(a1)必然在左边界加1和n之间。(为什么是n?因为n可能本身就是某个质数的倍数,然后这次操作又选了该质数,则n不变)if (isPrime(j)){continue;//跟上面一样,不可能是质数。}List<Integer> temp = prime(j);//继续对上个数进行质因数分解int max = Collections.max(temp);//找出最大的质因数作为第一次操作选择的质数,这样能使起始数字(即a0)尽可能小minstart = Math.min(j-max+1,minstart);//更新维护最小数字}}if (minstart==Integer.MAX_VALUE){System.out.println("-1");}else {System.out.println(minstart);}}}//质数的判断private static boolean isPrime(int n){if (n<2)return false;if (n==2||n==3)return true;if (n%6!=1&&n%6!=5)return false;for (int i = 5; i*i<= n ; i+=6) {if (n%i==0||n%(i+2)==0){return false;}}return true;}//对n进行质因数分解private static List<Integer> prime(int n){List<Integer> ans  = new LinkedList<>();for(int i = 2; i <= n/i ; i++){//判断条件用n/i,以防i*i<=n发生溢出int a = 0;//每次循环都要清零while(n % i == 0){n /= i;a++;}if(a > 0)ans.add(i);}//若该数是质数,那么应该将自身(n)也加入if(n > 1) ans.add(n);return ans;}
}
http://www.yayakq.cn/news/84909/

相关文章:

  • 免费php模板网站视频教学网站开发需求分析
  • 城市建设网站调查问卷南昌网站建设优化公司排名
  • dw 怎么做钓鱼网站设计师培训机构
  • 昆明网站关键词优化国内网站排名
  • 注册网站不用手机短信验证的网站中国哪家网站做仿古做的好
  • 石家庄高端网站制作河池企业网站开发公司
  • 九江市建设局官方网站建站行业的乱象
  • 用帝国cms做视频网站万网创始人为什么封停慧聪网
  • 利用地图建网站云捷配快速开发平台
  • 企业商务网站 建设方案如何开发一个app建设一个网站
  • 学校信息门户网站建设wordpress中文标签云插件
  • 网站建设论文源代码网页版qq中心登录入口
  • 网站建设方案书wordpress 首页打开慢
  • 嘉兴seo网站推广长春网页制作
  • 图片无版权网站wordpress 数据插件
  • 印刷厂网站模板衡水做企业网站的公司
  • 主机网站建设重庆网站建设冒号
  • 中英文企业网站系统网站建设公司生存
  • 深圳专门做写字楼的网站聊城网站建设开发
  • 网站开发可行性分析报告大数据软件和网站开发那个就业好
  • 可以做区位分析的网站国内html5网站
  • 樟木头东莞网站建设vue做网站对seo
  • 网站搭建在线支付怎么在百度推广
  • 网站建设必学课程水果网站建设计划书
  • seo优秀网站分析wordpress网店适合
  • 友情链接交换平台网站内部优化建设
  • 网站建设有哪些平台国内外网站开发技术有哪些
  • 外国网站怎么做永丰县城乡建设局网站
  • 自己做的网站怎么发布win7单位网站开发合同
  • 怎样做招聘网站公众号 手机网站开发