别简单问题复杂化了,这个问题小学生都会做的题------数一数,看一看:
拇 食 中 无 小
1 2 3 4 5
10 9 8 7 6
11 12 13 14 15
20 19 18 17 16
发现规律了么?
具体看代码就知道了:
using System;
class Program{
static void Main(string[] args){
int x, n; // 设n是数到的数
n = Convert.ToInt32(Console.ReadLine());
x =n%10;
switch (x) // 尾数
{
case 0:
case 1:
Console.WriteLine("拇指");
break;
case 2:
case 9:
Console.WriteLine("食指");
break;
case 3:
case 8:
Console.WriteLine("中指");
break;
case 4:
case 7:
Console.WriteLine("无名指");
break;
case 5:
case 6:
Console.WriteLine("小指");
break;
}
}
}
楼下可能理解的有误 1楼说的5-2是表示第5手指-第2手指 没有问题
代码也要按照标准OI题目格式书写
static void Main()
{
string input;
while((input=Console.ReadLine()).Length>0)
{
int n = Int32.Parse(input);
int result = (n-1)%8;
result = (result<4) ? (result+1) : (9-result);
Console.WriteLine(result);
}
}
==========根据追加描述完善答案================
1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
以8为周期循环反复的
思路:因为大拇指、无名指不重复,所以以手指正向1-4,反向5-2为整数计算就是8个手指头,也就是以大拇指为重复计数开始一轮为8个手指。只要你输入的数除以8,剩下的余数按1-4,5-2去判断就知道停留在哪个手指了。
这是个好问题
楼上QXYSLXH同学回答的思路很好,但有一点可能写错了"正向1-4,反向5-2",貌似应该是"正向1-4,反向5-8"
也就是说:
------------------------------------
拇指 | 1 |
----------------------------------
食指 | 2 | 8(0)
----------------------------------
中指 | 3 | 7
----------------------------------
无名指 | 4 | 6
----------------------------------
小指 | 5 |
------------------------------------
计算方法:
先用给定的数除以8得到结果,不用管商是多少,直接看余数,然后查上面的表对应的指头,就是最后停留的手指了。(如果余数为0,那么停留的就是食指)
这个题可真是个好题啊.
wlclass同学的提供思路很好.