在这种情况下我想获取数组中的元素数,但该数组依赖于用户输入
int first = int.Parse(Console.ReadLine());
int second = int.Parse(Console.ReadLine());
for (int i = first; i <= second; i++)
{
if (i % 5 == 0)
{
int[] some =new int [i];
int c =some.Length;
Console.WriteLine(c);
}
}
我尝试了几个选项,但输出仍然是可以被5整除的数字列表,没有余数。怎么做?
示例:first = 15
,second = 50
。
预期输出= 8
。
8个数字可被5整除而没有余数(15,20,25,30 ... 50)
答案 0 :(得分:1)
你可以循环查看数字并计算你可以被5整除的数量:
int first = int.Parse(Console.ReadLine());
int second = int.Parse(Console.ReadLine());
int cnt = 0;
for (int i = first; i <= second; i++) {
if (i % 5 == 0) {
cnt++;
}
}
但是,你不必生成数字来知道有多少。您可以只计算最后一个数字的位置(因为它比第一个更容易),然后计算在此之前但在第一个数字之后的数量:
int first = int.Parse(Console.ReadLine());
int second = int.Parse(Console.ReadLine());
second -= second % 5;
int cnt = (second - first) / 5 + 1;
例如,对于输入3
和11
,您要计算数字5
和10
。表达式11 % 5
提供1
,因此second
变为10
(最后一个数字)。然后second - first
为7
,使用5
进行整数除法,得到1
,然后添加1
给2
。