超难编程题

 
1.         产生20个不同的两位整数的随机数,并且对它们进行由小到大的排序。特别提醒:程序要自动生成20个不同的整数,而且这些整数必须是两位的,如:3不是两位整数,58是两位整数。
 
    
2.         在1到1,000,000的整数中,找出同时符合以下条件的数:
 
a.       必须是质数,提醒:质数为只能被1和自身整除的整数。
 
b.       该数字各位数字之和为偶数,如:数字12345,各位数字之和为1+2+3+4+5=15,不是偶数。

答案:

1. using System;
    using System.Collections.Generic;
    using System.IO;

    class Test2
    {
        static void TMain()
        {
           int N = 20;
            Random r = new Random();
            List<int> l = new List<int>(N);
            for (int i = 0; i < N; i++)
            {
                int a = r.Next(10, 100);
                if (!l.Contains(a))
                {
                    l.Add(a);
                }
            }
            l.Sort();
            foreach (int a in l)
            {
                Console.WriteLine(a);
            }

      }

}

2.using System;
    using System.Collections.Generic;

    class Test3
    {
        static void TMain()
        {
            int N = 1000;
            List<int> primes = new List<int>();
            for (int i = 3; i < N; i += 2)
            {
                bool isprime = true;
                foreach (int prime in primes)
                {
                    if (i % prime == 0)
                    {
                        isprime = false;
                        break;
                    }
                }
                if (isprime) primes.Add(i);
                // Console.Write(i + " ");
            }
            List<int> l = new List<int>();
            foreach (int prime in primes)
            {
                if (IsDigitSumEven(prime))
                {
                    l.Add(prime);
                }
            }
            foreach (int prime in l)
            {
                Console.Write(prime + " ");
            }
            Console.ReadLine();
        }

        static bool IsDigitSumEven(int n)
        {
            int sum = 0;
            while (n > 0)
            {
                sum += n % 10;
                n /= 10;
            }
            return sum % 2 == 0;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值