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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PyQuery库[通俗易懂]

    PyQuery库[通俗易懂]PyQuery库PyQuery库也是一个非常强大又灵活的网页解析库,PyQuery是Python仿照jQuery的严格实现。语法与jQuery几乎完全相同,所以不用再去费心去记一些奇怪的方法了。1、初始化初始化的时候一般有三种传入方式:传入字符串,传入url,传入文件字符串初始化eg1:html=”'<div><ul>…

    2022年6月11日
    34
  • Eclipse汉化教程(详细图解)

    Eclipse汉化教程(详细图解)eclipse语言包下载:http://www.eclipse.org/babel/downloads.php1、打开浏览器,浏览“参考资料”内给出的“eclipse语言包下载”地址,在博客新页面找到地址链接,如图所示。“BabelLanguage…”开头的一栏下面就是各个eclise版本的语言包,2、目标锁定“BabelLanguagePackUpdateSiteforNeon”

    2022年6月5日
    151
  • 查看laravel版本

    查看laravel版本

    2021年10月20日
    45
  • android autosize原理,(原创)AndroidAutoSize屏幕适配工具介绍[通俗易懂]

    android autosize原理,(原创)AndroidAutoSize屏幕适配工具介绍[通俗易懂]屏幕适配是我们在开发中经常会遇到的一个问题不同的机型有不同的屏幕尺寸和密度现在市场上已经有不少屏幕适配的解决方案今天就来介绍一个我自己觉得不错的AutoSize这是是一个Android端可以根据设备不同屏幕尺寸自动适配宽高的工具特点是使用起来非常简单。作者写的介绍它网站有:https://www.jianshu.com/p/4aa23d69d481代码位置:https://github.com/J…

    2022年6月6日
    382
  • 层叠样式表——CSS

    层叠样式表——CSS层叠样式表——CSS

    2022年4月24日
    45
  • 浅析分布式搜索引擎

    浅析分布式搜索引擎1.基础知识1.1认识Lucene维基百科的定义:Lucene是一套用于全文检索和搜索的开放源码程序库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程序接口,能够做全文索引和搜索,在Java开发环境里Lucene是一个成熟的免费开放源代码工具;就其本身而论,Lucene是现在并且是这几年,最受欢迎的免费Java信息检索程序库。Lucene官网:http:/…

    2022年5月13日
    39

发表回复

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

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