问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:WV.cpp
*作 者:单昕昕
*完成日期:2015年1月28日
*版 本 号:v1.0
*问题描述:如图为手的示意图,大拇指、食指、中指、无名指、小指分别标记为字母A、B、C、D、E.请你按图中箭头所指方向(即A→B→C→D→E→D→C→B→A→B→C→…的方式)从A开始数连续的正整数1,2,3,4…
*程序输入:年份
*程序输出:对应的指头
*/
#include <iostream>
using namespace std;
int main()
{
long long n;
cin>>n;
double k=(n-5)*1.0/4+1;
double s=k-(int)k;
long long num=k;
if (s)
num++;
long long a=5+4*(num-1);
int answer=0;
if (a>n)
answer=a-n;
else
answer=n-a;
if (num%2==0)
answer+=1;
else
answer=5-answer;
if(answer==1)cout<<"大拇指"<<endl;
else if(answer==2)cout<<"食指"<<endl;
else if(answer==3)cout<<"中指"<<endl;
else if(answer==5)cout<<"小指"<<endl;
else cout<<"无名指"<<endl;
return 0;
}
运行结果:
知识点总结:
除去第一个数1,从2开始每8个数为一个循环组依次循环,用年份减去1,然后除以8,再根据余数的情况确定所对应的手指即可.
学习心得:
找规律。。