求2^N大数
来源:互联网 发布:淘宝抠图兼职怎么找 编辑:程序博客网 时间:2024/05/18 20:46
求2^N的值。
#include <iostream>#include <vector>#include <string>using namespace std;//大数相乘/***num1 乘数1*num2 乘数2*return 结果字符串*/string BigMutiple(string num1, string num2){ string res=""; //两个数的位数 int m = num1.size(), n = num2.size(); //一个i位数乘以一个j位数,结果至少是i+j-1位数 vector<long long> tmp(m + n - 1); //每一位进行笛卡尔乘法 for (int i = 0; i < m; i++){ int a = num1[i] - '0'; for (int j = 0; j < n; j++){ int b = num2[j] - '0'; tmp[i + j] += a*b; } } //进行进位处理,注意左侧是大右侧是小 int carry = 0; for (int i = tmp.size() - 1; i >= 0; i--){ int t = tmp[i] + carry; tmp[i] = t % 10; carry = t / 10; } //若遍历完仍然有进位 while (carry != 0){ int t = carry % 10; carry /= 10; tmp.insert(tmp.begin(), t); } //将结果存入到返回值中 for (auto a : tmp){ res = res + to_string(a); } if(res.size()>0&&res[0]=='0')return "0"; return res;}//测试函数int main(){ int N=0; string str="2"; cin>>N; for(int i=0;i<N-1;++i) { str=BigMutiple(str,"2");} cout << str << endl; return 0;}
阅读全文
0 0
- 求2^N大数
- 求大数N!
- 求大数n!的位数
- 求 n! (大数问题)----------HDOJ1042
- 大数相乘之求N!
- 求n的阶乘,大数乘模版
- HDU 1042求N! (大数)
- N个数,求第K大数
- 求C(m,n)的大数模板
- 大数问题:求N的阶乘
- HDU 1042 求N! ---大数乘法
- N个数,求第K大数
- 大数问题:求n的阶乘
- N个数,求第K大数
- N个数,求第K大数
- (hdu 2.3.2)Exponentiation(大数:求R的n次幂)
- 求n个数中第i大数 microsoft面试题
- 杭电1042——求N!大数处理问题
- 深度学习——GoogleLeNet网络
- 三维重建概述
- STM32之串口例程
- 华氏温度和摄氏温度互相转换
- Android 事件分发拦截(基础篇)
- 求2^N大数
- malloc函数、free函数和new运算符、delete运算符
- TCC 强一致性 实时 DEMO 下单(创建订单,扣除库存,增加积分,扣除余额)
- Flex 布局教程:实例篇
- 1002. 写出这个数 (20)
- 找工作的一些经历
- 给定一个任意的大写字母A~Z,转换为小写字母。
- SDUT-2144 图结构练习——最小生成树
- WebRTC的C/C++ API