1009——精确计算2的N次方
来源:互联网 发布:高性能笔记本 编程 编辑:程序博客网 时间:2024/06/11 06:49
题目:100<=N<=1000,输入N,输出2^N的精确值
示例:
输入:200
输出:1606938044258990275541962092341162602522202993782792835301376
import java.util.Scanner;public class Main { int n; int[] regs = new int[1000]; public static void main(String[] args) { Main obj = new Main(); obj.getInput(); obj.checkInput(obj.n); obj.computeNPowerOf2(obj.n); obj.printNPowerOf2(); } public void getInput() { Scanner input = new Scanner(System.in); n = input.nextInt(); input.close(); } public void checkInput(int input) { if (input < 100 || input > 1000) { System.exit(1); } } public void computeNPowerOf2(int n) { final int TWO = 2; final int TEN = 10; regs[0] = TWO; int highestIdx = 0; for (int times = 1; times < n; times++) { int carry = 0; for (int idx = 0; idx <= highestIdx; idx++) { regs[idx] = regs[idx] * TWO + carry; if (regs[idx] >= TEN) { regs[idx] -= TEN; carry = 1; if (highestIdx == idx) { highestIdx++; } } else { carry = 0; } } } } public void printNPowerOf2() { int start = skipUntilNonZero(); for (int i = start; i >= 0; i--) { System.out.print(regs[i]); } System.out.println(); } public int skipUntilNonZero() { int i = regs.length - 1; while (regs[i] == 0 && i >= 0) { i--; } return i; }}
0 0
- 1009——精确计算2的N次方
- PKU_1002 浮点数N次方的精确计算
- 计算2的n次方
- 计算2的N次方
- 【9112】求2的n次方的精确值
- 最快的计算2的N次方
- POJ 2809:计算2的N次方
- 用数组计算2的N次方
- noi-1811-计算2的N次方
- 12:计算2的N次方
- 计算 1+2(2次方)+3(3次方)+...+n(n次方)的值
- 计算x的n次方
- 计算M的N次方
- 计算x的n次方
- How:汇编语言计算2的n次方的一个实例
- 计算数组中2的N次方的个数
- 2的N次方
- 2的N次方
- Linux Mysql安装问题
- 银联支付、支付宝支付、微信支付三大支付
- 接口与多态的使用
- WMI Defense
- 设计模式文章(二)
- 1009——精确计算2的N次方
- subway dijkstra
- regexp_substr()函数
- 2016第七届蓝桥杯C/C++ B组省赛题解
- PHP底层的运行机制与原理
- 设计模式学习笔记——状态模式
- RuntimeException和Exception区别
- 7.5 Javascript:表单验证-正则补充
- 读书笔记 - Windows程序设计(滚动条)