HDU 1061 Rightmost Digit解决问题的方法

HDU 1061 Rightmost Digit解决问题的方法

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

求大量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/。只有经过作者同意转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116941.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号