人见人爱A^B(杭电2035)(中国剩余定理)

人见人爱A^B

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 23657    Accepted Submission(s): 16417

Problem Description

求A^B的最后三位数表示的整数。

说明:A^B的含义是“A的B次方”

Input

输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。

Output

对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。

Sample Input

2 3
12 6
6789 10000
0 0

Sample Output

8
984
1
/*中国剩余定理:
(a*b)%c=((a%c)*(b%c))%c;
(a+b)%c=(a%c+b%c)%c;
*/
#include<stdio.h>
int main()
{
	int i,a,b;
	while(scanf("%d %d",&a,&b)&&(a+b))
	{
		int sum=1;
		for(i=1;i<=b;i++)
		{
			sum=sum*a%1000;
		}
		printf("%d\n",sum);
	}
	return 0;
}
时间: 2024-10-27 02:26:01

人见人爱A^B(杭电2035)(中国剩余定理)的相关文章

人见人爱a*b 杭电2035

求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理. Output 对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行. Sample Input 2 3 12 6 6789 10000 0 0 Sample Output 8 984 1 2035#include<stdio.h>int m

杭电 2035 人见人爱A^B【快速幂取模】

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035 解题思路:这一题数据不大,可以用同余来做,也可以用快速幂来做 反思:定义成 #include<stdio.h> int quick_mod(int a,int b,int m) { int ans=1; while(b) { if(b&1) { ans=(ans*a)%m; b--; } b=b>>1; a=a*a%m; } return ans; } int main(

杭电2035人见人爱A^B

级新生)除了校赛,还有什么途径可以申请加入ACM校队?  人见人爱A^B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33751    Accepted Submission(s): 22894 Problem Description 求A^B的最后三位数表示的整数.说明:A^B的含义是“A的B次方” Input 输入数据包含多个测试

杭电 2035 人见人爱A^B【同余】

#include<stdio.h> int main() { int a,b; int s; int i; while(scanf("%d %d",&a,&b)!=EOF&&a&&b) { s=1; for(i=1;i<=b;i++) { s*=a%1000; s=s%1000; } printf("%d\n",s%1000); } }

杭电2034——人见人爱A-B

#include <stdio.h> #include <algorithm> using namespace std; int main () { int a[110],b[110],c[110]; int m,n; int i,j,k; int flag; scanf("%d%d",&m,&n); while (m!=0||n!=0) { k = 0; flag = 0; for (i=0;i<m;i++) scanf("%d

人见人爱A+B(杭电2033)

/*人见人爱A+B Problem Description HDOJ上面已经有10来道A+B的题目了,相信这些题目曾经是大家的最爱,希望今天的这个A+B能给大家带来好运,也希望这个题目能唤起大家对ACM曾经的热爱. 这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒. Input 输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM

Bell(hdu4767+矩阵+中国剩余定理+bell数+Stirling数+欧几里德)

Bell Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4767 Description What? MMM is learning Combinatorics!? Looks like she is playing with the bell sequence now: bell[n] = number of ways to part

Bell(hdu4767+矩阵+中国剩余定理)

Bell Time Limit:3000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Practice HDU 4767 Description What? MMM is learning Combinatorics!? Looks like she is playing with the bell sequence now: bell[n] = number of ways to part

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY