FZU 1752 A^B mod C

 Problem 1752 A^B mod C

Accept: 840    Submit: 3625

Time Limit: 1000 mSec    Memory Limit : 32768 KB

 Problem Description

Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,B,C<2^63).

 Input

There are multiply testcases. Each testcase, there is one line contains three integers A, B and C, separated by a single space.

 Output

For each testcase, output an integer, denotes the result of A^B mod C.

 Sample Input

3 2 42 10 1000

 Sample Output

124

 Source

FZU 2009 Summer Training IV--Number Theory

大数处理。数据范围达到2^63,所以要用unsigned long long 。

但还是要爆,所以采用加法,对于耗时间的%运算,直接利用减法替代。

#include<stdio.h>
#include<string.h>
#include<math.h>
#define LL unsigned __int64
LL quickmod(LL a,LL b,LL c)
{
	LL ans=0;
	a=a%c;
	while(b)
	{
	   if(b&1)ans+=a;
	   if(ans>=c)ans-=c;
	   a=a+a;
	   if(a>=c)a=a-c;
	   b=b/2;
	}
	return ans;
}
int main()
{
	LL a,b,c,i,j,ans;
	while(scanf("%I64u%I64u%I64u",&a,&b,&c)!=EOF)
	{
		ans=1;
		a=a%c;
		while(b)
		{
			if(b%2)ans=quickmod(ans,a,c);
			a=quickmod(a,a,c);
			b=b/2;
		}
		printf("%I64u\n",ans);
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-17 12:00:36

FZU 1752 A^B mod C的相关文章

FZU 1650 1752 a^b mod

Problem 1752 A^B mod C Accept: 837    Submit: 3615 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,B,C<2^63).  Input There are multiply testcases. Each te

FZU 1650 1752 a^b mod c

Accept: 822    Submit: 3560 Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,B,C<2^63).  Input There are multiply testcases. Each testcase, there is one li

FZU 1752 a^b%c

题目连接:http://acm.fzu.edu.cn/problem.php?pid=1752 解题思路:要用快速幂,但不是单纯的用,如果单纯的用的话就会爆掉,要把乘法转化为加法,然后再用而且尽量用位运算... 上代码: #include <iostream> #include <cstdio> using namespace std; typedef long long LL; LL multi(LL a, LL b, LL c) { LL ans=0; a=a%c; while

FZU 1759-Super A^B mod C(快速幂+大整数取模+欧拉函数)

题目链接:点击打开链接 题意:计算 a^b %c 但其中b很大,可能会达到10^1000000, 故有降幂公式 a^b %c= a^(b%phi(c)+phi(c)) %c  (b>=phi(c)) #include <algorithm> #include <iostream> #include <cstring> #include <cstdlib> #include <string> #include <cctype> #

FOJ 1752 &amp;&amp; FOJ 1759 (a^b%c 的不同情况)

博客原文地址:http://blog.csdn.net/xuechelingxiao/article/details/38614491 对于一般的求a^b%c的值,当a,b都在long long范围内,c在1e9的时候,都可以用快速幂取模进行求解. LL powerMod(LL x, LL k, LL m){ LL res = 1; while(x %= m, k){ if(k&1) res *= x, res %= m; x *= x, k >>=1; } return res; }

二分快速幂 [FOJ ] 1752

Problem 1752 A^B mod C Accept: 750    Submit: 3205Time Limit: 1000 mSec    Memory Limit : 32768 KB  Problem Description Given A,B,C, You should quickly calculate the result of A^B mod C. (1<=A,B,C<2^63).  Input There are multiply testcases. Each tes

能蜜履拖栖cn0ih1010n15

听着天梦冰蚕的讲述,霍雨浩早已忘记了恐惧,义愤填膺的道:"它们太可恶了,怎么能这样,居然囚禁了你近万年之久."巫风右腿闪电般弹起,直奔倒下的霍雨浩踢去,她这一下速度极快.眼看就要踢中霍雨浩的胸膛了.先前天梦冰蚕散发出的强大精神力曾经令他们暂时失去思索的能力,不过因为他们与天梦冰蚕之间的对比相差太大所以并未察觉.但此时近在咫尺的霍雨浩就不同了,那份由眼眸散发出的精神波动令两人都是大吃一惊.磕头认错虽然不会伤残身体,但毫无疑问,无论输赢如何,这两个小团体都是结下大仇了.双方都有武魂系两名核

赜稳蔷擞苏a6del17necnkycg3k4

徐三石的作用可以说是完美展现,发动玄冥震之后,他根本没有停顿,身体一横,就闪了出来,玄冥置换光芒再现.史莱克战队这边,戴钥衡已经横跨一步迈了出来.只要玄冥置换再次成功,那么,史莱克学院这第二位魂帝也将被置换过去.一年多前,他独自一人离开公爵府来到星斗大森林,那时怀着不成功.则成仁的想法.如果不能获取一个何时的魂环,可能就会死在星斗大森林中,成为这里植物的养分.那时候的他,心中除了决绝就是对报仇的渴望.久久公主眼神平淡的看了一眼光罩外的冰雾,嘴角微微上翘,在她身前还有一名魂师.却始终没有加入战斗.

羡崖孪廖俗qpcrvfn725y6bm

"当我想到唐门的时候,我惊讶的发现,实际上,我所有的能力都可以和唐门有关.我的灵眸武魂,本身和紫极魔瞳就有着众多关系,正是通过紫极魔瞳,才让我拥有了灵魂冲击这样的精神系能力.反过来说,我的灵眸武魂在精神控制方面的造诣也同样能够帮助我来施展各种唐门绝学,这其中就包括唐门暗器.而冰碧帝皇蝎武魂就更不用说了,冰系魂技与唐门的各种擒拿.步法有效的结合在一起,就如王冬刚才所说的那样,必定能够令我的实战能力大大提升."第十章 初涉魂导器(三)此时,众人的目光都集中在霍雨浩身上.就连玄老也不例外.大