c++语言计算2的n次方,2的N次方

c++语言计算2的n次方,2的N次方题目的链接为 http acm njupt edu cn acmhome problemdetai do amp method showdetail amp id 1009 题目为 2 的 N 次方时间限制 普通 Java 1000MS 3000MS 运行内存限制 65536KByte 总提交 999 测试通过 500 描述编程精确计算 2 的 N 次方 N 是介于 1

题目的链接为: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

样例输出

很明显,这个不能直接算…要用数组模拟计算和进位…是属于大数处理题目的一种。

我们用arr这个长度为2000的数组来存储结果。

对于每次乘2,从最后一位开始,乘2,如果有进位,那么此位的值为乘积%10;前面的数,乘2后,判断后面是否有进位,有进位那么加1,再判断此位是否有进位。

从后位遍历到第一位,即可以得到最终结果。

代码如下:

#include

#define MAXNUM 2000

using namespace std;

int arr[MAXNUM];

int main()

{

int n,index;

cin>>n;

//大数乘法

index=0;

for(int i=0;i

{

arr[i]=0;

}

arr[0]=2;

for(int i=1;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<

}

cout<

system(“pause”);

return 0;

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233063.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • laravel查询构造器DB还是ORM,这两者有什么区别,各该用在什么场景中

    laravel查询构造器DB还是ORM,这两者有什么区别,各该用在什么场景中

    2021年11月9日
    43
  • 一位女测试工程师的成长

    一位女测试工程师的成长

    2021年8月8日
    47
  • MPP架构概念_体系架构是什么意思

    MPP架构概念_体系架构是什么意思MPP架构概念1.什么是MPPMPP(MassivelyParallelProcessing),即大规模并行处理。什么是并行处理?在数据库集群中,首先每个节点都有独立的磁盘存储系统和内存系统,其次业务数据根据数据库模型和应用特点划分到各个节点上,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果。什么是大规模?每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。整个集群称为非共享数据库集群,非

    2025年7月12日
    7
  • netstat命令的作用使用详解_netstat命令的作用使用详解

    netstat命令的作用使用详解_netstat命令的作用使用详解netstat命令的作用Netstat命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(InterfaceStatistics),masquerade连接,多播成员(MulticastMemberships)等等。输出信息含义从整体上看,netstat的输出结果可以分为两个部分:一个是ActiveInternetconnections,称为有源TCP连接,…

    2022年8月30日
    6
  • python处理异常的关键字_如果抛出异常应用哪些关键字

    python处理异常的关键字_如果抛出异常应用哪些关键字一.抛出异常Python用异常对象(exceptionobject)表示异常情况,遇到错误后,会引发异常。如果异常对象并未被处理或捕捉,程序就会用所谓的回溯(Traceback,一种错误信息)终止执行。raise语句Python中的raise关键字用于引发一个异常,基本上和C#和Java中的throw关键字相同,如下所示:importtracebackdefthrow_error():…

    2022年10月18日
    3
  • mysql45讲pdf_讲政策读后感

    mysql45讲pdf_讲政策读后感此文为极客时间:MySQL实战45讲的2、15节日志相关部分和网上一些相关文章的内容的总结一、redolog1.概述redolog又叫重做日志,提供的是数据丢失后的前滚操作。redol

    2022年8月16日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号