//对于[10-99]之间的正整数N, 计算N^2+N+41的值R, 若R为质数, 输出N, R; 否则输出N, R 以及R的所有因数(非1与R) static void solve2_10_3(int n) { double r = Math.Pow(n, 2) + n + 41; if (UtilityApi.isPrime((int)r)) { Shell.Write("N={0}, R={1}", n, r); } else { List <int> temp = UtilityApi.calcFactorList((int)r); Shell.Write("N={0}, R={1}, R的因数:", n, r); /* * foreach (int it in temp) { * if(it == 1 || it == r) { * temp.Remove(it); * } * } */ int pCnt = 0; foreach (int it in temp) { if (it == 1 || it == r) { continue; } else { Shell.Write((++pCnt == 1 ? "" : " ") + it); } } } Shell.WriteLine(""); }
public static void solve1_10_10(Random rnd) { int maxCount = 30; List <int> randomList = new List <int>(); List <int> randomList2 = new List <int>(); for (int i = 0; i < maxCount; ++i) { int num = UtilityApi.randomNum(rnd, 2); if (randomList.Find(ele => ele == num) == 0) { randomList.Add(num); } else { ++maxCount; } } /*randomList.ForEach(ele => { * if (isPrime((int)ele)) { * randomList.Remove(ele); * } * });*/ /*for (int i = 0; i < randomList.Count; i++) { * int ele = randomList[i]; * if (isPrime((int)ele) || (int)ele % 2 == 0) { * randomList.Remove(ele); * } * }*/ randomList.ForEach(ele => { if (UtilityApi.isPrime((int)ele) || (int)ele % 2 == 0) { // } else { randomList2.Add(ele); } }); randomList2.Sort((lhs, rhs) => (int)(lhs - rhs)); int count = 0, pCnt = -1; randomList2.ForEach(ele => { Shell.Write((++pCnt == 0 ? "" : " ") + ele); if (++count % 5 == 0) { Shell.WriteLine(); pCnt = -1; } }); Shell.WriteLine(); }