关注
利用位乘,然后叠加 package coker;
import java.util.Scanner;
/**
* Created by TaoHaoWei on 2017/9/23.
* 本人新建博客:www.mynight.top
* 欢迎交友和指正 ^_^
* 滴滴,幂运算
*/
public class OutMi {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (true)
{
String R = in.next();
int n = in.nextInt();
int flo = R.length()-R.indexOf(".")-1;
R = R.replace(".","");
StringBuilder sum = caculater(R.toCharArray(),n);
flo *= n;
flo = sum.length()-flo;
sum.insert(flo,".");
System.out.println(sum.toString());
}
}
private static StringBuilder caculater(char[] r, int n) {
int[] tmp = new int[r.length*2];
StringBuilder sb = new StringBuilder();
for (int i=0;i<r.length;i++)
sb.append(r[i]);
char[] zhu = r;
while (n-->1)
{
int flag = tmp.length;
int tt = 0;
for (int i=zhu.length-1;i>=0;i--)
{
int t = 1;
for(int j=r.length-1;j>=0;j--)
{
tmp[flag-t-tt] += (r[j]-'0')*(zhu[i]-'0');
t++;
}
tt++;
}
for (int i=tmp.length-1;i>=0;i--)
{
if(tmp[i]>9)
{
tmp[i-1] += tmp[i]/10;
tmp[i] %= 10;
}
}
sb = new StringBuilder();
int fir = 0;
for (int i=0;i<tmp.length;i++)
{
if(fir==0&&tmp[i]==0)
{
}else{
fir++;
sb.append(tmp[i]);
}
}
zhu = sb.toString().toCharArray();
tmp = new int[zhu.length+r.length];
}
return sb;
}
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届春招投递记录 #
29927次浏览 217人参与
# 妈妈治愈了你哪些脆皮时刻 #
46971次浏览 347人参与
# 27届实习投递记录 #
109293次浏览 1076人参与
# 我的工作日记 #
207278次浏览 1819人参与
# 我的求职总结 #
509272次浏览 7058人参与
# 要毕业了,再不说就来不及了 #
4443次浏览 80人参与
# 大学生该如何认清当下的就业环境? #
178198次浏览 939人参与
# 我与AI的日常 #
10036次浏览 150人参与
# AI面会问哪些问题? #
132555次浏览 3301人参与
# 摸鱼被leader发现了怎么办 #
207030次浏览 937人参与
# 腾讯工作体验 #
645642次浏览 3911人参与
# 如果公司降薪,你会跳槽吗? #
168461次浏览 968人参与
# 牛友的志愿填报指南 #
72172次浏览 503人参与
# 材料专业就业可以去哪些企业岗位 #
69054次浏览 396人参与
# 你遇到过哪些神仙同事 #
147219次浏览 778人参与
# 滴!实习打卡 #
860584次浏览 6900人参与
# 面试被问期望薪资时该如何回答 #
406186次浏览 2221人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
168524次浏览 913人参与
# 你在职场上见过哪些“水货”同事 #
41584次浏览 175人参与
# 今年秋招哪家公司给的薪资最良心? #
488066次浏览 2600人参与