题目的链接为:
http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1009
题目为:
2的N次方
时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte
总提交:999 测试通过:500
描述
编程精确计算2的N次方。(N是介于100和1000之间的整数)。
输入
正整数N (100≤N≤1000)
输出
2的N次方
样例输入
200
样例输出
1606938044258990275541962092341162602522202993782792835301376
很明显,这个不能直接算...要用数组模拟计算和进位...是属于大数处理题目的一种。
我们用arr这个长度为2000的数组来存储结果。
对于每次乘2,从最后一位开始,乘2,如果有进位,那么此位的值为乘积%10;前面的数,乘2后,判断后面是否有进位,有进位那么加1,再判断此位是否有进位。
从后位遍历到第一位,即可以得到最终结果。
代码如下:
#include<iostream>
#define MAXNUM 2000
using namespace std;
int arr[MAXNUM];
int main()
{
int n,index;
cin>>n;
//大数乘法
index=0;
for(int i=0;i<MAXNUM;i++)
{
arr[i]=0;
}
arr[0]=2;
for(int i=1;i<n;i++)
{
int jinwei=0;
for(int j=0;j<=index;j++)
{
int temp=1;
if(j==0)
{
temp=arr[j]*2;
if(temp>=10)
{
jinwei=1;
}
}
else
{
temp=arr[j]*2;
if(jinwei==1)
{
temp=temp+1;
}
if(temp>=10)
{
jinwei=1;
}
else
{
jinwei=0;
}
}
arr[j]=temp%10;
}
if(jinwei==1)
{
index++;
arr[index]=1;
}
}
for(int i=index;i>=0;i--)
{
cout<<arr[i];
}
cout<<endl;
system("pause");
return 0;
}
分享到:
相关推荐
自己做的C++小程序,仅供参考,2的N次方2的N次方2的N次方2的N次方2的N次方
通过汇编语言实现2的n次方,作业,调试结果正确
1170:计算2的N次方 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10500 通过数: 5410 【题目描述】 任意给定一个正整数N(N≤100),计算2的n次方的值。 【输入】 输入一个正整数N。 【输出】 输出2的N次方的值...
### 2的N次方(N为的正整数,可扩展) #### 知识点 1. **基本概念与应用场景** - **2的N次方**:指的是数字2乘以自己N次的结果。例如,2的3次方表示2×2×2=8。 - 在计算机科学、数学以及日常生活中都有广泛的...
编程精确计算2的N次方。(N是介于100和1000之间的整数)。
计算2的n次方
在计算机科学中,判断一个整数是否为2的N次方是一个常见的问题,尤其是在位操作、数据结构优化和算法设计中。2的N次方表示为2^n,其中n是正整数。这类数字在内存分配、数组下标计算、哈希函数设计等方面有着特殊的...
### C++实现a的n次方的不同方法及性能分析 #### 概述 在计算机科学领域,计算一个数的幂(即a的n次方)是常见的数学运算之一。本篇文章将详细介绍如何使用C++语言通过不同的算法实现a的n次方的计算,并对这些算法...
本文将深入解析“2的n次方单链表操作”这一主题,通过C语言实现,不仅展示了如何利用单链表进行数学计算,还涉及了数据结构的灵活运用与算法设计。 ### 一、理解2的n次方运算 首先,“2的n次方”是一个基本的数学...
在Java编程语言中,求一个数的n次方是一个常见的数学运算,这涉及到幂运算。在Java中,有两种主要的方法可以实现这个功能:使用Math类的pow()方法和使用循环结构自定义计算。 1. 使用Math.pow()方法: Java的Math类...
在计算机科学领域,高效地计算一个数的幂(即x的n次方)是常见的运算需求,尤其是在数学、科学计算以及工程应用中。这个话题主要涉及到算法设计与优化,特别是对于大整数处理和浮点数计算的部分。下面将详细讨论如何...
《N次方计算器:简单易用的数学工具》 在当今科技日新月异的时代,各种计算工具层出不穷,其中N次方计算器以其便捷性与实用性脱颖而出。这款软件的设计理念是为用户提供一个简单、直观且高效的计算环境,尤其适合对...
在“易语言计算N次方”这个主题中,我们将深入探讨如何使用易语言来执行基本的数学运算,特别是计算数字的N次方、求N次方根以及相关的算法实现。 首先,计算N次方是指将一个数(底数)自乘N次,其公式为`a^n`,其中...
例如,如果要求计算x的n次方,我们可以先计算x*x,再对结果求n/2次方,直到n变为1。这种方法称为“平方再乘”(Square-and-Multiply)算法,其时间复杂度为O(logn)。 在实际编程中,C++标准库提供了`...
根据给定的文件信息,我们可以总结出以下关于“实现一个数的N次方源码”的相关知识点: ### 1. 程序目的与功能 该程序的主要目的是计算并输出一个给定数值(记作a)的指定次数幂运算结果(记作b)。即用户可以输入...
计算2的N次方的CMD命令 计算2的N次方的CMD命令
//计算2的n次方,n > 0。 const char *power2(unsigned n); //计算斐波那契数列第n项,n > 0。 const char * fib(unsigned n); //计算n的阶乘,n > 0。 const char * fac(unsigned n);
2. 求N次方幂的类;3. 人民币转换大写。 ### 1. 判断三角形并求面积 #### 类定义 首先定义一个名为`Triangle`的类,该类用于判断三个边长是否可以构成三角形,并计算该三角形的面积。 ```java public class ...
"n次方根PPT教案学习" 本PPT教案旨在帮助学生理解n次方根的概念、性质和应用。通过本教案,学生将学习平方根、立方根和n次方根的定义和性质,以及如何求解n次方根的问题。 第一页:引入活动 * 平方根和立方根的...
2的n次方