您的位置:首页 > 其它

数学推演题目—不得不放弃、祝你元宵节快乐!

2017-02-13 17:25 399 查看
think:

1 面对这个题目,一开始可能会先考虑直接算,但是再分析就会发现一旦展开来算,估计内存和时间都会超,因此再分析时候有更合适的方法,发现其实题目只需要8^n的个位数字,这就意味着或许不用全部展开来算,再分析一下又发现第n位的个位数字只需要第n-1位的个位数字乘以8取余即可,这时候动笔写一写会发现这其实是规律的变化,如下

0->1

1->8

2->4

3->2

4->6

5->8



2因此其实只需额外考虑8^0这种情况,其余情况当n和4取余发现其实是规律性变化,有点体现了数学中的数学归纳法思想

sdut原题链接

不得不放弃、祝你元宵节快乐!

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

又到了一年一度的元宵节啦!一心想吃到汤圆的 cyk 看着 Stone 一碗又一碗地吃汤圆羡慕不已。

cyk 发现 Stone 吃汤圆是有规律的,第 n 碗内会有 8^n 个汤圆。Stone 看到 cyk 馋得不行,便决定送给他几个汤圆,其数量为自己碗里汤圆数量的个位数。

已知当前 Stone 正在吃第 n 碗,cyk 想知道自己能获得几个汤圆?

Input

多组输入,首先输入一行 T (1 <= T <= 1000),表示数据组数。

对于每组数据,输入一个整数 n (0 <= n <= 10^6)。

Output

对于每组数据,输出一行一个整数,代表答案。

Example Input

3

1

2

3

Example Output

8

4

2

Hint

n = 1 时,Stone 有 8^1 = 8 个汤圆,他会送出 8 个汤圆。

n = 2 时,Stone 有 8^2 = 64 个汤圆,他会送出 4 个汤圆。

n = 3 时,Stone 有 8^3 = 512 个汤圆,他会送出 2 个汤圆。

Author

「2017年寒假集训 阶段测试赛2 - 元宵节专场」不得不放弃、

以下为accepted代码

#include <stdio.h>
int main()
{
int T, n;
scanf("%d", &T);
while(T--)
{
scanf("%d", &n);
if(n == 0)
printf("1\n");
else
{
if(n % 4 == 1)
printf("8\n");
else if(n % 4 == 2)
printf("4\n");
else if(n % 4 == 3)
printf("2\n");
else if(n % 4 == 0)
printf("6\n");
}
}
return 0;
}

/***************************************************
User name: jk160630
Result: Accepted
Take time: 0ms
Take Memory: 108KB
Submit time: 2017-02-13 17:11:19
****************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数学归纳法思想