예제 #1
0
        //对于[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("");
        }
예제 #2
0
        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();
        }