ستة أرقام فردية متتالية a، a+2، a+4، a+6، a+8، a+10 كلها أعداد مركبة.
قم بنشر النتائج أولا ثم قم بلصق الكود:
1 متتالية n = 9، عدد القيم المتتالية: 1؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 0 مللي ثانية مرتين متتاليتين n = 25، عدد القيم المتتالية: 1؛ عدد القيم المتتالية: 1؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 0 مللي ثانية 4 مرات متتالية n=115، عدد القيم المتتالية: 3؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 1 مللي ثانية 5 متتالية ن = 115 ، عدد القيم المتتالية: 3 ؛ استهلاك الوقت: 0 مللي ثانية ، الإجمالي: 1 مللي ثانية 6 مرات متتالية ن = 115 ، عدد القيم المتتالية: 3 ؛ عدد القيم المستمر: 2؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 1 مللي ثانية 8 مرات متتالية n=525، عدد القيم المتتالية: 2؛ 1ms 9 مرات متتالية n=889، عدد القيم المتتالية: 1؛ استهلاك الوقت: 0ms، الإجمالي: 1ms 10 مرات متتالية n=1131، عدد القيم المتتالية: 1؛ 1329، عدد القيم المستمر: 6؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 1 مللي ثانية 12 مرة متتالية n = 1329، عدد القيم المتتالية: 6؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 1ms 13 مرات متتالية n=1329، عدد القيم المتتالية: 6؛ استهلاك الوقت: 0ms، الإجمالي: 1ms 14 مرات متتالية n=1329، عدد القيم المتتالية: 6؛ 1329، عدد القيم المتتالية: 6؛ استهلاك الوقت: 0 مللي ثانية، الإجمالي: 1 مللي ثانية 16 مرة متتالية n = 1329، عدد القيم المتتالية: 6؛ 0 مللي ثانية، الإجمالي: 1 مللي ثانية، 17 مرة متتالية n=9553، عدد القيم المتتالية: 1؛ استهلاك الوقت: 2 مللي ثانية، الإجمالي: 3 مللي ثانية، 18 مرة متتالية n=15685، عدد القيم المتتالية: 4؛ 5 مللي ثانية، 19 مرة متتالية n = 15685، عدد القيم المتتالية: 4؛ استهلاك الوقت: 1 مللي ثانية، الإجمالي: 5 مللي ثانية 20 مرة متتالية n = 15685، عدد القيم المتتالية: 4 استهلاك الوقت: 1 مللي ثانية، الإجمالي: 5 مللي ثانية، 21 مرة متتالية n = 15685، عدد القيم المتتالية: 4؛ استهلاك الوقت: 1 مللي ثانية، الإجمالي: 5 مللي ثانية، 22 مرة متتالية n = 19611، عدد القيم المتتالية: 4؛ : 2 مللي ثانية، الإجمالي: 8 مللي ثانية 23 مرة متتالية n = 19611، عدد القيم المتتالية: 4؛ 8ms24 مرات متتالية n=19611، عدد القيم المتتالية: 4؛ استهلاك الوقت: 2ms، الإجمالي: 8ms25 مرات متتالية n=19611، عدد القيم المتتالية: 4؛ عدد القيم المتتالية: 10؛ استهلاك الوقت: 5 مللي ثانية، الإجمالي: 13 مللي ثانية، 27 مرة متتالية n=31399، عدد القيم المتتالية: 10 استهلاك الوقت: 5 مللي ثانية، الإجمالي: 13 مللي ثانية، 28 مرة متتالية ن = 31399، عدد القيم المتتالية: 10؛ استهلاك الوقت: 5 مللي ثانية، الإجمالي: 13 مللي ثانية، 29 مرة متتالية ن = 31399، عدد القيم المتتالية: 10؛ : 5 مللي ثانية، الإجمالي: 13 مللي ثانية30 مرة متتالية n=31399، عدد القيم المتتالية: 10؛ 13ms31 مرات متتالية n=31399، عدد القيم المتتالية: 10؛ استهلاك الوقت: 5ms، الإجمالي: 13ms32 مرات متتالية n=31399، عدد القيم المتتالية: 10؛ عدد القيم المتتالية: 10؛ استهلاك الوقت: 5 مللي ثانية، الإجمالي: 13ms34 مرات متتالية n=31399، عدد القيم المتتالية: 10؛ استهلاك الوقت: 5ms، الإجمالي: 13ms35 مرات متتالية n=31399، عدد القيم المتتالية: 10؛ عدد القيم: 7؛ الوقت المستغرق: 92 مللي ثانية، الإجمالي: 105ms37 مرات متتالية n=155923، عدد القيم المتتالية: 7؛ استهلاك الوقت: 92ms، الإجمالي: 105ms38 مرات متتالية n=155923، عدد القيم المتتالية: 7؛ عدد القيم: 7؛ الوقت المستغرق: 92 مللي ثانية، الإجمالي: 105ms40 مرات متتالية n=155923، عدد القيم المتتالية: 7؛ استهلاك الوقت: 92ms، الإجمالي: 105ms41 مرات متتالية n=155923، عدد القيم المتتالية: 7؛ عدد القيم: 7؛ الوقت المستغرق: 93 مللي ثانية، الإجمالي: 106ms43 مرات متتالية n=360655، عدد القيم المتتالية: 5؛ استهلاك الوقت: 243ms، الإجمالي: 349ms44 مرات متتالية n=360655، عدد القيم المتتالية: 5؛ عدد القيم المستمر: 5 استهلاك الوقت: 243 مللي ثانية، الإجمالي: 349ms46 مرات متتالية n=360655، عدد القيم المتتالية: 5؛ استهلاك الوقت: 243ms، الإجمالي: 349ms47 مرات متتالية n=360655، عدد القيم المتتالية: 5؛ عدد القيم المستمر: 8؛ الوقت المستغرق: 14 مللي ثانية، الإجمالي: 363ms49 مرة متتالية n=370263، عدد القيم المتتالية: 8؛ استهلاك الوقت: 14ms، الإجمالي: 363ms50 مرات متتالية n=370263، عدد القيم المتتالية: 8؛ عدد القيم: 8؛ الوقت المستغرق: 14 مللي ثانية، الإجمالي: 363ms52 مرات متتالية n=370263، عدد القيم المتتالية: 8؛ استهلاك الوقت: 14ms، الإجمالي: 363ms53 مرات متتالية n=370263، عدد القيم المتتالية: 8؛ عدد القيم: 8؛ الوقت المستغرق: 14 مللي ثانية، الإجمالي: 363ms55 مرات متتالية n=370263، عدد القيم المتتالية: 8؛ استهلاك الوقت: 14ms، الإجمالي: 363ms56 مرات متتالية n=492115، عدد القيم المتتالية: 1؛ عدد القيم: 2؛ استهلاك الوقت: 1854 مللي ثانية، الإجمالي: 2402ms58 مرات متتالية n = 1349535، عدد القيم المتتالية: 2؛ استهلاك الوقت: 1854 مللي ثانية، الإجمالي: 2402ms59 مرات متتالية n = 1357203، عدد القيم المتتالية: 7؛ عدد القيم المتتالية: 7 استهلاك الوقت: 22 مللي ثانية، الإجمالي: 2424ms61 مرات متتالية n = 1357203، عدد القيم المتتالية: 7؛ استهلاك الوقت: 22 مللي ثانية، الإجمالي: 2424ms62 مرات متتالية n = 1357203، عدد القيم المتتالية: 7؛ عدد القيم المتتالية: 7 استهلاك الوقت: 22 مللي ثانية، الإجمالي: 2424ms64 مرات متتالية n=1357203، عدد القيم المتتالية: 7؛ استهلاك الوقت: 22ms، الإجمالي: 2424ms65 مرات متتالية n=1357203، عدد القيم المتتالية: 7؛ عدد القيم المستمر: 8؛ الوقت المستغرق: 1889 مللي ثانية، الإجمالي: 4313ms67 مرات متتالية n = 2010735، عدد القيم المتتالية: 8؛ استهلاك الوقت: 1889 مللي ثانية، الإجمالي: 4313ms68 مرات متتالية n = 2010735، عدد القيم المتتالية: 8؛ عدد القيم المتتالية: 8؛ الوقت المستغرق: 1889 مللي ثانية، الإجمالي: 4313ms70 مرات متتالية n=2010735، عدد القيم المتتالية: 8؛ استهلاك الوقت: 1889ms، الإجمالي: 4313ms71 مرات متتالية n=2010735، عدد القيم المتتالية: 8؛ عدد القيم: 8؛ الوقت المستغرق: 1889 مللي ثانية، الإجمالي: 4313ms73 مرات متتالية n = 2010735، عدد القيم المتتالية: 8؛ استهلاك الوقت: 1890 مللي ثانية، الإجمالي: 4314ms74 مرات متتالية n = 4652355، عدد القيم المتتالية: 3؛ عدد القيم المتتالية: 3؛ 10583 مللي ثانية، الإجمالي: 14897 مللي ثانية 76 مرة متتالية n = 4652355، عدد القيم المتتالية: 3؛ استهلاك الوقت: 10583 مللي ثانية، الإجمالي: 14897 مللي ثانية 77 مرة متتالية n = 17051709، عدد القيم المتتالية: 13؛ 100979ms78 مرات متتالية n=17051709، عدد القيم المتتالية: 13؛ استهلاك الوقت: 86082ms، الإجمالي: 100979ms79 مرات متتالية n=17051709، عدد القيم المتتالية: 13؛ عدد القيم: 13 استهلاك الوقت: 86082 مللي ثانية، الإجمالي: 100979 مللي ثانية81 مرة متتالية n = 17051709، عدد القيم المتتالية: 13؛ استهلاك الوقت: 86082 مللي ثانية، الإجمالي: 100979 مللي ثانية82 مرة متتالية n = 17051709، عدد القيم المتتالية: 13؛ : 100979ms83 مرات متتالية n=17051709، عدد القيم المتتالية: 13؛ استهلاك الوقت: 86082ms، الإجمالي: 100979ms84 مرات متتالية n=17051709، عدد القيم المتتالية: 13؛ عدد القيم: 13 استهلاك الوقت: 86083 مللي ثانية، الإجمالي: 100980 مللي ثانية 86 مرة متتالية n = 17051709، عدد القيم المتتالية: 13؛ استهلاك الوقت: 86083 مللي ثانية، الإجمالي: 100980 مللي ثانية 87 مرة متتالية n = 17051709، عدد القيم المتتالية: 13؛ ، المجموع : 100980ms88 مرات متتالية n=17051709، عدد القيم المتتالية: 13؛ استهلاك الوقت: 86083ms، الإجمالي: 100980ms89 مرات متتالية n=17051709، عدد القيم المتتالية: 13؛ عدد القيم المتتالية: 15 استهلاك الوقت: 34772 مللي ثانية، الإجمالي: 135752 مللي ثانية91 مرة متتالية n = 20831325، عدد القيم المتتالية: 15؛ استهلاك الوقت: 34772 مللي ثانية، الإجمالي: 135752 مللي ثانية92 مرة متتالية n = 20831325، عدد القيم المتتالية: 15؛ : 135752ms93 مرات متتالية n=20831325، عدد القيم المتتالية: 15؛ استهلاك الوقت: 34772ms، الإجمالي: 135752ms94 مرات متتالية n=20831325، عدد القيم المتتالية: 15؛ عدد القيم المتتالية: 15 استهلاك الوقت: 34772 مللي ثانية، الإجمالي: 135752 مللي ثانية 96 مرة متتالية n = 20831325، عدد القيم المتتالية: 15؛ استهلاك الوقت: 34772 مللي ثانية، الإجمالي: 135752 مللي ثانية 97 مرة متتالية n = 20831325، عدد القيم المتتالية: 15؛ : 135752ms98 مرات متتالية n=20831325، عدد القيم المتتالية: 15؛ استهلاك الوقت: 34772ms، الإجمالي: 135752ms99 مرات متتالية n=20831325، عدد القيم المتتالية: 15؛ عدد القيم المتتالية: 15؛ استهلاك الوقت: 34773 مللي ثانية، الإجمالي: 135753 مللي ثانية 101 مرة متتالية n = 20831325، عدد القيم المتتالية: 15؛ استهلاك الوقت: 34773 مللي ثانية، الإجمالي: 135753 مللي ثانية 102 مرة متتالية n = 20831325، عدد القيم المتتالية: 15؛ : 135753ms103 مرات متتالية n=20831325، عدد القيم المتتالية: 15؛ استهلاك الوقت: 34773ms، الإجمالي: 135753ms104 مرات متتالية n=20831325، عدد القيم المتتالية: 15؛ 135753ms105 مرات متتالية n=47326695، عدد القيم المتتالية: 5؛ استهلاك الوقت: 319130ms، الإجمالي: 452155ms106 مرات متتالية n=47326695، عدد القيم المتتالية: 5؛ 452156ms107 مرات متتالية n=47326695، عدد القيم المتتالية: 5؛ استهلاك الوقت: 319131ms، الإجمالي: 452156ms108 مرات متتالية n=47326695، عدد القيم المتتالية: 5؛ 452156ms109 مرات متتالية n=47326695، عدد القيم المتتالية: 5؛ استهلاك الوقت: 319131ms، الإجمالي: 452156ms110 مرات متتالية n=122164749، عدد القيم المتتالية: 1؛ 1847356ms111 مرات متتالية n=189695661، عدد القيم المتتالية: 6؛ 3553292ms113 مرات متتالية n=189695661، عدد القيم المتتالية: 6؛ 3553292ms115 مرات متتالية n=189695661، عدد القيم المتتالية: 6؛ 3553292ms117 مرات متتالية n=191912785، عدد القيم المتتالية: 7؛ 3615256ms119 مرات متتالية n = 191912785، عدد القيم المتتالية: 7؛ استهلاك الوقت: 61964 مللي ثانية، الإجمالي: 3615256ms120 مرات متتالية n = 191912785، عدد القيم المتتالية: 7؛ 3615256ms121 مرات متتالية n=191912785، عدد القيم المتتالية: 7؛ 3615256ms123 مرات متتالية n = 191912785، عدد القيم المتتالية: 7؛ استهلاك الوقت: 61964 مللي ثانية، الإجمالي: 3615256 مللي ثانية124 مرات متتالية n = 387096135، عدد القيم المتتالية: 1؛ اكتمل هذا التشغيل، وتجاوزت القيمة التالية 1000 مرة، الوقت غير المفيد: 0 مللي ثانية، الإجمالي: xxxxxx135395ms
. . . . . . ولم يتم احتساب النتائج اللاحقة بعد.
يبدو الرمز كما يلي:
الحزمة 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 ;/** * ستة أرقام فردية متتالية a، a+2، a+4، a+6، a+8، a+10 كلها أرقام مركبة، ابحث عن أصغر فئة */public ZhishuTest { /** * تحديد ما إذا كان الرقم رقمًا مركبًا أم لا أم لا* @param num * @return */ public 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 = 1000; 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()){ // إذا تعذر العثور عليه، فلن يكون هناك رقم تالي... // التداخل العميق مثير للاشمئزاز للغاية. . . } 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()){ // اجتياز الخريطة أمر مثير للاشمئزاز. Java Set<Integer> Keys= Map.keySet(); Iterator<Integer> iteratorK =keys.iterator(); ); // عدد مرات القيمة الصحيحة = Map.get(key); // الحد الأدنى n // وقت الإكمال هذا curMillis = System.currentTimeMillis(); // long allTimeout = curMillis - startMillis; long curTimeout = curMillis - preMillis; مللي ثانية، الإجمالي: "+allTimeout+"ms"); // معالجة البيانات، تلك التي تمت معالجتها بجشع لن تتم معالجتها if(key > 0 && value > 0){ times = key+1; start = value; } } } } // تضمين وقت الإكمال الأخير preMillis = System.currentTimeMillis(); } // // وقت الإكمال هذا curMillis = System.currentTimeMillis(); // long allTimeout = curMillis - startMillis; out.println("اكتمل هذا التشغيل، وتجاوزت القيمة التالية 100 مرة" + "؛ وقت غير مفيد: " + curTimeout + "ms، الإجمالي: "+allTimeout+"ms"); } /** * * أوقات الاختبار + 2 هي الحد الأدنى لعدد n من الأرقام المركبة * @param مرات حساب مرات *param بداية رقم البداية * @param OnlyStart يحسب فقط قيمة بداية واحدة. يستخدم ل يجب تمرير المكالمات الخارجية * @return */ public static List<Map<Integer, Integer>> testTimesHe(int times,int start, boolean OnlyStart) { // List<Map<Integer, Integer>> resList= new ArrayList<Map<Integer, Integer>>(); // // البرمجة الدفاعية if(start < 1){ return resList } if(0 == start % 2 ) { // لا تتعامل مع الأرقام الزوجية return resList } if(times < 1){ times = 1 } // int result = -1; Integer.MAX_VALUE; i+=2) { // // تجنب الحساب المستمر دون الرجوع if(onlyStart && i > start){ // إذا لم تكن البداية مرضية، فما عليك سوى الرجوع مباشرة إلى resList } for (int j = 0; j < times; j++) { int n = i + 2*j; // if(!He(n)){ // الخروج الداخلي} // if(j+1 == times){ // تشغيل إلى النتيجة مرات يرضي result = i;break;// لا يهم سواء تراجعت أم لا، فنحن نركض حتى النهاية for} } // if(result > 0){ // //System.out.println(" result = "+result ); // Map<Integer, Integer> resMap = new HashMap<Integer, Integer>(); resMap.put(times, result); resList.add(resMap); // جرب العودية التالية في الواقع، يمكن تحسين هذه العودية بشكل أكبر، فقط أضفها في المرة التالية. . . // startTimes، أضف هذه المعلمة مباشرة. . . العودية الجشعة؟ // مرة أخرى، بدءًا من النتيجة int t = times +1; int s = result; تتم إضافة أرقام المستوى التالي إلى النتيجة الحالية if(null != nextList && false==nextList.isEmpty()){ resList.addAll(nextList) } // استراحة // خروج الطبقة الخارجية } } // return resList }}
ملاحظة: لا يزال هناك مجال للتحسين، ونرحب بإجراء التصحيحات في المرة القادمة