POJ Exponentiation+Java在ACM中的运用

  题目链接:Clicke Here~

java解决大数就是爽阿!~

以前大数模板敲啊敲的,敲了半天发现一交果断wrong。只从学会了java妈妈在不用担心我遇到大数了/

这道题遇到的Java函数有:

stripTrailingZeros()            去掉后缀0(但是注意0.0000的情况,是不会去除后缀0的!!!!!!)

toPlainString()               返回大数的非科学计数法

startsWith()

startsWith()函数介绍及扩展:


描述

startsWith(),endsWith()的作用,用法,判断字符串a 是不是以字符串b开头或结尾

java.lang.String.startsWith(String prefix) 如果此字符串的方法测试用指定的前缀开始.

声明

以下是声明java.lang.String.startsWith()方法
public boolean startsWith(String prefix)

参数
prefix -- 这是值的前缀.

返回值
如果此方法返回true参数表示的字符序列是该字符串所表示的字符序列的前缀,否则返回false.

异常
NA


实例:

import java.lang.*;

public class StringDemo {

  public static void main(String[] args) {
  
    String str = "www.yiibai.com";
    System.out.println(str);

    // the start string to be checked
    String startstr1 = "www";
    String startstr2 = "http://";

    // checks that string starts with given substring
    boolean retval1 = str.startsWith(startstr1);
    boolean retval2 = str.startsWith(startstr2);

    // prints true if the string starts with given substring
    System.out.println("starts with " + startstr1 + " ? " + retval1);
    System.out.println("starts with " + startstr2 + " ? " + retval2);
  }
}

参考资料:Java String.startsWith()方法


import java.math.*;
import java.util.*;

class Main{
	public static void main(String args[]){
		Scanner cin = new Scanner(System.in);
		while(cin.hasNext()){
			BigDecimal R,res;
			int n;
			R = cin.nextBigDecimal();
			n = cin.nextInt();
			res = R.pow(n);
			String ans;
			ans = res.stripTrailingZeros().toPlainString();    //去掉前缀0, 将大数结果转换成非科学计数法的形式
			if(ans.startsWith("0."))                           //判断前缀是否为0.形式
				ans = ans.substring(1);                        //去掉前缀0
			System.out.println(ans);
		}
	}
}


 








  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值