检查整数中的数字

本文关键字:数字 整数 检查 | 更新日期: 2023-09-27 18:20:58

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

谈到简单整数,在本例中,int a=4754;

谢谢你的快速回复。这是我从Tim代码中得到的,它正在发挥作用。

        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);

检查整数中的数字

您可以将它们转换为字符串并使用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,因为它是一个更有意义的样本)

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

public static int CountEvenDigits(int number)
{
    int nEven = 0;
    while (number > 0)
    {
        if ((number & 1) == 0)
            ++nEven;
        number /= 10;
    }
    return nEven;
}

使用传统方法

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);
}

Tim提供了一个很好的答案,告诉我们如何使用LINQ。尽管如此,我认为作为C#的新手,您应该首先学习如何使用一个简单的循环来实现这一点。

您应该:

  1. 将数字转换为字符串
  2. 循环字符串中的每个字符
  3. 将每个字符转换回整数
  4. 计算得到的每个整数的模2。mod等于0的数字将是偶数

试着写一些涵盖这些步骤的代码。使用搜索引擎找出你不确定的操作。如果您在某个地方遇到问题,请将代码张贴在此处,我们将为您提供帮助。

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

很抱歉我之前的回答,我误解了这个问题。

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这样的模糊数字。