数数问题
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 169 测试通过 : 70
总提交 : 169 测试通过 : 70
题目描述
yuman正在用左手手指数数,从1数到n。他从大拇指算作1开始数起,然后,食指为2,中指为3,无名指为4,小指为5。接下来调转方向,无名指算作6,中指为7,食指为8,大拇指为9,如此反复。问最后会停在那个手指上?
用编号1、2、3、4、5依次表示大拇指、食指、中指、无名指、小指。
输入
先输入一个正整数T,表示共有T组测试数据,(1<=T<=100)
每组数据占一行,只包含一个正整数n(1<=n<=100000)。
输出
每组数据占一行,输出包含一个介于1和5之间的整数,表示最后停留的手指。
样例输入
2
1
12
样例输出
1
4
怎么说捏,这一题就是找规律,多列举几个数就发现了~~
#include<iostream>
using namespace std;
int main()
{
int64_t n;
int m;
cin>>m;
while(m--)
{int n;
cin>>n;
if(n%8==1)
{
cout<<"1"<<endl;
}
else if(n%8==5)
{
cout<<"5"<<endl;
}
else if(n%4==3)
{
cout<<"3"<<endl;
}
else if((n+1)%4==3||(n-1)%4==3)
{
if(n%8==0||n%8==2)
cout<<"2"<<endl;
else
{
cout<<"4"<<endl;
}
}
}
}
多看看还是能发规律哒~
版权声明:本文为博主原创文章,未经博主允许不得转载。