检查整数中的数字
本文关键字:数字 整数 检查 | 更新日期: 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#的新手,您应该首先学习如何使用一个简单的循环来实现这一点。
您应该:
- 将数字转换为字符串
- 循环字符串中的每个字符
- 将每个字符转换回整数
- 计算得到的每个整数的模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这样的模糊数字。