首页 > 代码库 > 连续x次奇数(n+2*x)是合数的算法题暴力算法
连续x次奇数(n+2*x)是合数的算法题暴力算法
// 连续6个奇数a,a+2,a+4,a+6,a+8,a+10都是合数,求最小的a
// 暴力解法
先上结果,后面贴上代码:
1次连续n=9,连续值个数: 1;耗时: 0ms,总计: 0ms 2次连续n=25,连续值个数: 1;耗时: 0ms,总计: 0ms 3次连续n=91,连续值个数: 1;耗时: 0ms,总计: 0ms 4次连续n=115,连续值个数: 3;耗时: 0ms,总计: 1ms 5次连续n=115,连续值个数: 3;耗时: 0ms,总计: 1ms 6次连续n=115,连续值个数: 3;耗时: 0ms,总计: 1ms 7次连续n=525,连续值个数: 2;耗时: 0ms,总计: 1ms 8次连续n=525,连续值个数: 2;耗时: 0ms,总计: 1ms 9次连续n=889,连续值个数: 1;耗时: 0ms,总计: 1ms 10次连续n=1131,连续值个数: 1;耗时: 0ms,总计: 1ms 11次连续n=1329,连续值个数: 6;耗时: 0ms,总计: 1ms 12次连续n=1329,连续值个数: 6;耗时: 0ms,总计: 1ms 13次连续n=1329,连续值个数: 6;耗时: 0ms,总计: 1ms 14次连续n=1329,连续值个数: 6;耗时: 0ms,总计: 1ms 15次连续n=1329,连续值个数: 6;耗时: 0ms,总计: 1ms 16次连续n=1329,连续值个数: 6;耗时: 0ms,总计: 1ms 17次连续n=9553,连续值个数: 1;耗时: 2ms,总计: 3ms 18次连续n=15685,连续值个数: 4;耗时: 1ms,总计: 5ms 19次连续n=15685,连续值个数: 4;耗时: 1ms,总计: 5ms 20次连续n=15685,连续值个数: 4;耗时: 1ms,总计: 5ms 21次连续n=15685,连续值个数: 4;耗时: 1ms,总计: 5ms 22次连续n=19611,连续值个数: 4;耗时: 2ms,总计: 8ms 23次连续n=19611,连续值个数: 4;耗时: 2ms,总计: 8ms 24次连续n=19611,连续值个数: 4;耗时: 2ms,总计: 8ms 25次连续n=19611,连续值个数: 4;耗时: 2ms,总计: 8ms 26次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 27次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 28次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 29次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 30次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 31次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 32次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 33次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 34次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 35次连续n=31399,连续值个数: 10;耗时: 5ms,总计: 13ms 36次连续n=155923,连续值个数: 7;耗时: 92ms,总计: 105ms 37次连续n=155923,连续值个数: 7;耗时: 92ms,总计: 105ms 38次连续n=155923,连续值个数: 7;耗时: 92ms,总计: 105ms 39次连续n=155923,连续值个数: 7;耗时: 92ms,总计: 105ms 40次连续n=155923,连续值个数: 7;耗时: 92ms,总计: 105ms 41次连续n=155923,连续值个数: 7;耗时: 92ms,总计: 105ms 42次连续n=155923,连续值个数: 7;耗时: 93ms,总计: 106ms 43次连续n=360655,连续值个数: 5;耗时: 243ms,总计: 349ms 44次连续n=360655,连续值个数: 5;耗时: 243ms,总计: 349ms 45次连续n=360655,连续值个数: 5;耗时: 243ms,总计: 349ms 46次连续n=360655,连续值个数: 5;耗时: 243ms,总计: 349ms 47次连续n=360655,连续值个数: 5;耗时: 243ms,总计: 349ms 48次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 49次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 50次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 51次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 52次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 53次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 54次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 55次连续n=370263,连续值个数: 8;耗时: 14ms,总计: 363ms 56次连续n=492115,连续值个数: 1;耗时: 185ms,总计: 548ms 57次连续n=1349535,连续值个数: 2;耗时: 1854ms,总计: 2402ms 58次连续n=1349535,连续值个数: 2;耗时: 1854ms,总计: 2402ms 59次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 60次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 61次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 62次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 63次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 64次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 65次连续n=1357203,连续值个数: 7;耗时: 22ms,总计: 2424ms 66次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 67次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 68次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 69次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 70次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 71次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 72次连续n=2010735,连续值个数: 8;耗时: 1889ms,总计: 4313ms 73次连续n=2010735,连续值个数: 8;耗时: 1890ms,总计: 4314ms 74次连续n=4652355,连续值个数: 3;耗时: 10583ms,总计: 14897ms 75次连续n=4652355,连续值个数: 3;耗时: 10583ms,总计: 14897ms 76次连续n=4652355,连续值个数: 3;耗时: 10583ms,总计: 14897ms 77次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 78次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 79次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 80次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 81次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 82次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 83次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 84次连续n=17051709,连续值个数: 13;耗时: 86082ms,总计: 100979ms 85次连续n=17051709,连续值个数: 13;耗时: 86083ms,总计: 100980ms 86次连续n=17051709,连续值个数: 13;耗时: 86083ms,总计: 100980ms 87次连续n=17051709,连续值个数: 13;耗时: 86083ms,总计: 100980ms 88次连续n=17051709,连续值个数: 13;耗时: 86083ms,总计: 100980ms 89次连续n=17051709,连续值个数: 13;耗时: 86083ms,总计: 100980ms 90次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 91次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 92次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 93次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 94次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 95次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 96次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 97次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 98次连续n=20831325,连续值个数: 15;耗时: 34772ms,总计: 135752ms 99次连续n=20831325,连续值个数: 15;耗时: 34773ms,总计: 135753ms 100次连续n=20831325,连续值个数: 15;耗时: 34773ms,总计: 135753ms 101次连续n=20831325,连续值个数: 15;耗时: 34773ms,总计: 135753ms 102次连续n=20831325,连续值个数: 15;耗时: 34773ms,总计: 135753ms 103次连续n=20831325,连续值个数: 15;耗时: 34773ms,总计: 135753ms 104次连续n=20831325,连续值个数: 15;耗时: 34773ms,总计: 135753ms 本次已经跑完了,下一个值超出了100次;无用耗时: 0ms,总计: 135395ms。。。。。。 后面的结果还没算出来
代码如下所示:
package com.test.test.zhihe; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; /** * 连续6个奇数a,a+2,a+4,a+6,a+8,a+10都是合数,求最小的a * @author http://blog.csdn.net/renfufei */ public class ZhishuTest { /** * 判断某个数是否是合数. 相较于质数 * @param num * @return */ public static boolean He(int num){ // 平方根 int sq = ((Double)Math.sqrt(num)).intValue(); // 2 ...... sq for (int i = 2; i <= sq; i++) { int mo = num % i; if(0 == mo){ return true; } } // return false; } /** * 主函数 * @param args */ public static void main(String[] args) { test(); } public static void test() { // 开始时间 long startMillis = System.currentTimeMillis(); // 上次完成时间 long preMillis = System.currentTimeMillis(); // 本次完成时间 long curMillis = System.currentTimeMillis(); // int lianxu = 100; int start = 1; int times = 1; for (int x = 1; x <= lianxu; x++) { if(times > x){ continue;// 跳过,进入下一次循环 } else { times = x; } List<Map<Integer, Integer>> resList = testTimesHe(x, start, false); // // 如果有数字,则进行处理 if(null == resList || resList.isEmpty()){ // 找不到,就不会再有下一个了... // 深层嵌套太恶心了。。。 break; } int size = resList.size(); // 遍历 Iterator<Map<Integer, Integer>> iteratorR = resList.iterator(); while (iteratorR.hasNext()) { Map<Integer, Integer> map = (Map<Integer, Integer>) iteratorR.next(); // if(null != map && !map.isEmpty()){ // Map遍历太恶心了.烂Java Set<Integer> keys= map.keySet(); Iterator<Integer> iteratorK = keys.iterator(); if(iteratorK.hasNext()){ Integer key = iteratorK.next(); // 次数 Integer value = http://www.mamicode.com/map.get(key); // 最小n>说明: 还有改进空间,欢迎下次修正
连续x次奇数(n+2*x)是合数的算法题暴力算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。