关注
利用位乘,然后叠加 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
相关推荐
牛客热帖
更多
正在热议
更多
# 什么是优秀的实习经历 #
8037次浏览 205人参与
# 担心入职之后被发现很菜怎么办 #
266086次浏览 1131人参与
# 被上班搭子“传染”了哪些习惯 #
5281次浏览 97人参与
# 投格力的你,拿到offer了吗? #
152248次浏览 813人参与
# 工作后,你落下了哪些病根 #
12936次浏览 182人参与
# 作业帮求职进展汇总 #
82662次浏览 543人参与
# 京东美团大战,你怎么看? #
157947次浏览 859人参与
# 实习简历求拷打 #
10979次浏览 142人参与
# 如果今天是你的last day,你会怎么度过? #
58884次浏览 324人参与
# 秋招被挂春招仍然能投的公司 #
6445次浏览 94人参与
# mt对你说过最有启发的一句话 #
34716次浏览 418人参与
# 为了找工作你花了哪些钱? #
74784次浏览 359人参与
# 机械人晒出你的简历 #
146411次浏览 874人参与
# 嵌入式岗知多少 #
62964次浏览 555人参与
# 摸鱼被leader发现了怎么办 #
100453次浏览 640人参与
# 考研失败就一定是坏事吗? #
200664次浏览 1369人参与
# 秋招特别不鸣谢 #
15340次浏览 175人参与
# 2023毕业生求职有问必答 #
218583次浏览 1662人参与
# 选实习,你更看重哪方面? #
13630次浏览 214人参与
# 牛客十周岁生日快乐 #
197795次浏览 1895人参与


