using System;
using System.Linq;
namespace Problem
{
class Prog
{
public static void Main(string[] args)
{
long t= long.Parse(Console.ReadLine());
while (t-->0)
{
long n, even = 0, odd = 0, a;
n = long.Parse(Console.ReadLine());
for (long i = 0; i < n; i++)
{
a = long.Parse(Console.ReadLine());
if (a % 2)
odd++;
else
even++;
}
Console.WriteLine((even < odd) ? even : odd);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
由于我是 C# 新手,因此我正在使用此代码来解决hackerearth 中的问题,因此正在练习,但实际上我没有得到如何解决此错误的说法:
solution.cs(21,25):错误 CS0029:无法将类型“long”隐式转换为“bool”
编译失败:1 个错误,0 个警告`
if语句期望bool检查,在您的情况下a % 2只返回一个long数字,因为ais 类型long。
你只需要boolean expression在你的if陈述中写一个。
if (a % 2 != 0)
Run Code Online (Sandbox Code Playgroud)