检查整数中的数字?

时间:2014-09-08 10:12:54

标签: c#

确定一个数字中偶数的最简单方法是什么? 假设您有4754号码,或者我们让用户输入他想要的任何号码。 如何找到一个数字中有多少个偶数? 对于4754,数字应该是两个数字,它们是两个4。

谈论简单的整数,在这个例子中int a = 4754;

所有人都快速回复了。 这是我从蒂姆代码那里得到的,它正在工作。

        Console.WriteLine("Enter your number: ");
        int number = int.Parse(Console.ReadLine());

        int even = number.ToString().Count(c => int.Parse(c.ToString()) % 2 == 0);
        Console.WriteLine("We have {0} even numbers in a number.", even);

6 个答案:

答案 0 :(得分:2)

您可以将它们转换为字符串并使用LINQ:

int countEven = 47543.ToString().Count(c => int.Parse(c.ToString()) % 2 == 0); // 2
int countOdd  = 47543.ToString().Count(c => int.Parse(c.ToString()) % 2 == 1); // 3

(我使用47543,因为它是一个更有意义的样本)

答案 1 :(得分:1)

我的方法(基本上与@ Steve相同,但逻辑略有不同):

public static int CountEvenDigits(int number)
{
    int nEven = 0;

    while (number > 0)
    {
        if ((number & 1) == 0)
            ++nEven;

        number /= 10;
    }

    return nEven;
}

答案 2 :(得分:0)

使用传统方法

void Main()
{
    int count = 0;
    int theNum = 475436;
    while(theNum > 0)
    {
        int test = theNum - ((theNum / 10) * 10);
        if(test % 2 == 0) 
            count++;
        theNum = theNum / 10;
    }
    Console.WriteLine(count);
}

答案 3 :(得分:0)

string num = n.ToString();
for(int i =0;i < num.Length;i++){
    if(int.Parse(num[i]) % 2 == 0)
    Console.WriteLine(num[i]);
}

对不起我之前的回答,我误解了这个问题。

答案 4 :(得分:0)

Tim如何使用LINQ提供了一个很好的答案。尽管如此,我认为对C#不熟悉,你应该首先学习如何使用一个简单的循环。

你应该:

  1. 将数字转换为字符串
  2. 循环遍历字符串
  3. 中的每个字符
  4. 将每个字符转换回整数
  5. 计算每个整数的模数为2。 mod等于0的数字将是偶数。
  6. 尝试编写一些涵盖这些步骤的代码。使用搜索引擎找出您不确定的操作。如果您遇到困难,请在此处发布代码,我们会帮助您。

答案 5 :(得分:0)

switch (a)
{
    case 1:
        return 0;
    case 2:
        return 1;
    case 3:
        return 0;
    case 4:
        return 1;
    case 5:
        return 0;
    case 6:
        return 1;
    case 7:
        return 0;
    case 8:
        return 1;
    case 9:
        return 0;
    case 10:
        return 1;
    case 11:
        return 0;
    case 12:
        return 1;
    case 13:
        return 0;
    case 14:
        return 1;
    case 15:
        return 0;
    case 16:
        return 1;
    case 17:
        return 0;
    case 18:
        return 1;
    case 19:
        return 0;
    case 20:
        return 2;
    case 21:
        return 1;
    case 22:
        return 2;
    case 23:
        return 1;
    case 24:
        return 2;
    case 25:
        return 1;
    case 26:
        return 2;
    case 27:
        return 1;
    case 28:
        return 2;
    case 29:
        return 1;
    case 30:
        return 1;
    case 31:
        return 0;
    case 32:
        return 1;
    case 33:
        return 0;
    case 34:
        return 1;
    case 35:
        return 0;
    case 36:
        return 1;
    case 37:
        return 0;
    case 38:
        return 1;
    case 39:
        return 0;
    case 40:
        return 2;
    case 41:
        return 1;
    case 42:
        return 2;
    case 43:
        return 1;
    case 44:
        return 2;
    case 45:
        return 1;
    case 46:
        return 2;
    case 47:
        return 1;
    case 48:
        return 2;
    case 49:
        return 1;
    case 50:
        return 1;
    case 51:
        return 0;
    case 52:
        return 1;
    case 53:
        return 0;
    case 54:
        return 1;
    case 55:
        return 0;
    case 56:
        return 1;
    case 57:
        return 0;
    case 58:
        return 1;
    case 59:
        return 0;
    case 60:
        return 2;
    case 61:
        return 1;
    case 62:
        return 2;
    case 63:
        return 1;
    case 64:
        return 2;
    case 65:
        return 1;
    case 66:
        return 2;
    case 67:
        return 1;
    case 68:
        return 2;
    case 69:
        return 1;
    case 70:
        return 1;
    case 71:
        return 0;
    case 72:
        return 1;
    case 73:
        return 0;
    case 74:
        return 1;
    case 75:
        return 0;
    case 76:
        return 1;
    case 77:
        return 0;
    case 78:
        return 1;
    case 79:
        return 0;
    case 80:
        return 2;
    case 81:
        return 1;
    case 82:
        return 2;
    case 83:
        return 1;
    case 84:
        return 2;
    case 85:
        return 1;
    case 86:
        return 2;
    case 87:
        return 1;
    case 88:
        return 2;
    case 89:
        return 1;
    case 90:
        return 1;
    case 91:
        return 0;
    case 92:
        return 1;
    case 93:
        return 0;
    case 94:
        return 1;
    case 95:
        return 0;
    case 96:
        return 1;
    case 97:
        return 0;
    case 98:
        return 1;
    case 99:
        return 0;
    case 100:
        return 2;
    case 463284597:
        return 5;
    case 4754:
        return 2;
}

如果您没有时间输入所有2147483647号码或担心空间,那么只需添加您想要支持的号码。大多数用户不太可能输入像1151这样的模糊数字。