首页 > Web开发 > 详细

HDU 1061 Rightmost Digit解决问题的方法

时间:2015-09-23 16:37:20      阅读:322      评论:0      收藏:0      [点我收藏+]

求大量N^N的值最右边的数字,即最低位。

它将能够解决一个简单二分法。

只是要注意溢出,只要把N % 10之后。我不会溢出,代替使用的long long。


#include <stdio.h>
int rightMost(int n, int N)
{
	if (n == 0) return 1;
	int t = rightMost(n / 2, N);
	t = t * t % 10;;
	if (n % 2) t *= N;
	return t % 10;
}

int main()
{
	int T, n;
	scanf("%d", &T);
	while (T--)
	{
		scanf("%d", &n);
		printf("%d\n", rightMost(n, n%10));
	}
	return 0;
}



版权声明:笔者靖心脏,景空间地址:http://blog.csdn.net/kenden23/。只有经过作者同意转载。

HDU 1061 Rightmost Digit解决问题的方法

原文:http://www.cnblogs.com/yxwkf/p/4832517.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!