搜索
热搜: NOIP OIer 神牛
查看: 5|回复: 0

1025

[复制链接]

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 昨天 20:52 | 显示全部楼层 |阅读模式
#include <iostream>
#include <vector>
#include <string>

std::vector<int> multiply(const std::vector<int>& a, int b) {
    std::vector<int> result(a.size(), 0);
    int carry = 0;
    for (size_t i = 0; i < a.size(); ++i) {
        int product = a[i] * b + carry;
        result[i] = product % 10;
        carry = product / 10;
    }
    while (carry) {
        result.push_back(carry % 10);
        carry /= 10;
    }
    return result;
}

std::vector<int> powerOfTwo(int n) {
    std::vector<int> result = {1};
    int carry = 0;
    while (n--) {
        result = multiply(result, 2);
    }
    return result;
}

int main() {
    int n;
    std::cin >> n;
    std::vector<int> result = powerOfTwo(n);
    for (auto it = result.rbegin(); it != result.rend(); ++it) {
        std::cout << *it;
    }
    return 0;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

津ICP备19006949号-1 | 津公网安备12010102000465号

快速回复 返回顶部 返回列表