杭电oj —— 2035

package com.demo2;

import java.util.Scanner;

/*
 * 求A^B的最后三位数表示的整数。
  说明:A^B的含义是“A的B次方”
*/
public class HDU_oj2035 {
	public static void main(String[] args) {
		Scanner sn = new Scanner(System.in);
		while (sn.hasNext()) {
			int A = sn.nextInt() % 1000; // 先取模,使得数据变小
			int B = sn.nextInt();
			if (A == 0 && B == 0)
				break;
			int ans = 1;
			while (B != 0) {
				ans = ans * A; //次方
				ans = ans % 1000;//一直取模相乘 与相乘结果做后取模,一致
				B--;
			}
			System.out.println(ans);
		}
		sn.close();
	}
}

顺便学了一些大数的知识点:

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.PriorityQueue;
import java.util.Queue;
public class Practice {
	public static void main(String[] args) {
		StringBuffer sb = new StringBuffer();
		sb.append(5);
		sb.append("hello");
		System.out.println(sb);
		
		// 强大的反转 反转一切容器
		sb.reverse();
		System.out.println(sb);
		
		// BigInteger类实现了任意精度的整数运算,BigDecimal类实现了任意精度的浮点运算
		// 如果基本的整数和浮点数精度不能够满足需求,这两个类可以处理任意长度数字序列的数值
		BigInteger a;
		BigDecimal b;
		
		Queue que = new PriorityQueue();
		que.add(3);
		que.add(5);
		que.add(10);
		que.add(7);
		que.add(9);
		que.add(15);
		que.add(11);
		System.out.println(que);
		
//      每一次都会自动建立小顶堆(堆排序)
//		while(!que.isEmpty()) {
//			System.out.print(que.poll()+ ",");
//		}
		int size = que.size();  //一定要事先先把size保存,因为每执行一步size都会减小一
		for(int i = 0; i

 

你可能感兴趣的:(杭电oj)