滴滴,第二题再给我3分钟。就写出来了~!

滴滴已跪。智力题花了好久。我智商有问题#滴滴#
全部评论
第一题ac了吗
点赞 回复 分享
发布于 2017-09-23 21:38
楼主贴一下写出来的代码吧
点赞 回复 分享
发布于 2017-09-23 21:40
专业题最后一道应该错了吧
点赞 回复 分享
发布于 2017-09-23 21:41
利用位乘,然后叠加 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; } }
点赞 回复 分享
发布于 2017-09-23 21:41

相关推荐

11-08 16:53
门头沟学院 C++
投票
滑模小马达:第三个如果是qfqc感觉还行,我签的qfkj搞电机的,违约金也很高,但公司感觉还可以,听说之前开过一个试用转正的应届生,仅供参考。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务