读程序作业
using System;
using System.Collections.Generic;using System.Text;namespace FindTheNumber{ class Program { static void Main(string[] args) { int [] rg = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29,30,31}; for (Int64 i = 1; i < Int64.MaxValue; i++) { int hit = 0; int hit1 = -1; int hit2 = -1; for (int j = 0; (j < rg.Length) && (hit <=2) ; j++) { if ((i % rg[j]) != 0) { hit++; if (hit == 1) { hit1 = j; } else if (hit == 2) { hit2 = j; } else break; } } if ((hit == 2)&& (hit1+1==hit2)) { Console.WriteLine("found {0}", i); } } } }}这是一个C#程序,有点看不懂,但是在大神告诉几点不认识的东西后,终于有点明白这个程序是什么意思。
1 一开始看到时候就以为可能是是一个循环查找的过程,通过不停的条件判断,不断的改变变量来实现功能,但是我好像忽略了一点东西,认为这个程序应该不像我想象的那样简单,在查阅电脑后明白,就是完成不能连续的两个整数不能被整除,应该就是这个意思,通过hit的值的变化来实现的。
2 我一开始认为可以笔算出来,应该10来次就能得出计算结果,但是我错了,这个数很庞大,我算了好久都没算出来。
3 我在电脑上没有运行出来,具体结果也不知道。
4 使用多核,多个的CPU,内存要大,并且在电脑上不要运行其他后台程序。挺高主频,使用更多位的操作系统。
浙公网安备 33010602011771号