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


相关推荐

  • 九个问题从入门到熟悉HTTPS

    九个问题从入门到熟悉HTTPS

    2022年3月12日
    43
  • git免密码提交_git设置全局账号密码

    git免密码提交_git设置全局账号密码1.安装gityuminstallgit2.创建一个用户供git使用useraddgit#创建了一个名为git的用户passwordgit#设置密码3.打开RSA认证打开三项配置vim/etc/ssh/sshd_configRSAAuthenticationyesPubkeyA…

    2022年10月5日
    3
  • 怎么测试网站的稳定性_稳定性长期试验需进行多少个月试验

    怎么测试网站的稳定性_稳定性长期试验需进行多少个月试验今天面试遇到一个问题,如何进行网站的稳定性测试?因为之前从事的是电信行业,其稳定性测试是发送确定的traffic,运行72小时,观测系统的资源使用情况,traffic处理是否正常,有无内存泄漏,有无进程崩溃,其他资源使用是否正常等等。所以也给了一个类似的稳定性测试思路:按照系统设计容量的性能指标,模拟最大并发访问需求,运行72小时,看系统响应时间,监控资源利用的方法。回来查询发现,网易对这个问题也…

    2025年10月9日
    3
  • hdu1078 zoj1107(记忆化搜索/DP)

    hdu1078 zoj1107(记忆化搜索/DP)题目链接:点击链接题目大意:老鼠从(0,0)出发,每次在同一个方向上最多前进k步,且每次到达的位置上的数字都要比上一个位置上的数字大,求老鼠经过的位置上的数字的和的最大值#include#include#definemax(a,b)a>b?a:bintn;intk;//前进的步数intmap[105][105];intans[105][105];//记忆化搜索,保存

    2022年7月26日
    7
  • 数据库常用建表语句「建议收藏」

    数据库常用建表语句「建议收藏」Mysql数据库常用操作语句2017年09月16日12:17:11阅读数:629用户管理:  1、新建用户:    >CREATEUSERnameIDENTIFIEDBY’ssapdrow’;  2、更改密码:    >SETPASSWORDFORname=PASSWORD(‘fdddfd’);  3、权限管理    >SHOWG…

    2025年10月3日
    3
  • Uefi安装Centos7出现错误以及解决方法

    Uefi安装Centos7出现错误以及解决方法写这篇就当是学习的笔记和总结。文笔不好有什么错别字或不通的地方大家多担待。很少使用Linux系统,前段时间因工作需要,要在一台服务器上安装centos7,服务器默认的引导方式是Uefi,下载ISO镜像用UltraISO刻U盘后引导安装但是报错,进后dracut#命令行,当时完全是懵的一堆英文单字没几个认识。只能百度搜索出错原因和解决方法,以下就是网上说的方法和自己实践的总结。…

    2022年6月25日
    34

发表回复

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

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