码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C++信息学奥赛1170:计算2的N次方


    在这里插入图片描述

    #include 
    #include 
    #include 
    
    using namespace std;
    
    int main() {
        int n;
        cin >> n;  // 输入一个整数n
    
        int arr[100];
        memset(arr, -1, sizeof(arr));  // 将数组arr的元素初始化为-1,sizeof(arr)表示arr数组的字节大小
    
        arr[0] = 1;  // 数组第一个元素赋值为1
    
        int j;
    
        for (int i = 0; i < n; i++) {
            j = 0;
    
            // 将数组每个元素乘以2,直到遇到-1为止
            while (arr[j] != -1) {
                arr[j++] *= 2;
            }
    
            j = 0;
    
            // 处理进位
            while (arr[j] != -1) {
                // 如果当前数字大于等于10,并且下一位是-1(即没有下一位)
                // 则在下一位填充0,并将当前位的值除以10加到下一位上
                if (arr[j] >= 10 && arr[j + 1] == -1) {
                    arr[j + 1] = 0;
                }
                arr[j + 1] += arr[j] / 10;
                arr[j] %= 10;
                j++;
            }
        }
    
        // 输出结果
        for (int i = j - 1; i >= 0; i--) {
            cout << arr[i];
        }
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    该程序的逻辑如下:

    1. 首先,从标准输入读取一个整数n。
    2. 创建一个大小为100的整型数组arr,并用-1进行初始化。
    3. 将arr数组的第一个元素设置为1。
    4. 使用变量j来追踪数组arr的索引。
    5. 使用循环结构,重复n次以下步骤:
      • 将j重置为0。
      • 使用while循环,将数组arr中的每个元素乘以2,直到遇到-1为止。
      • 将j重置为0。
      • 使用while循环,处理进位操作,即将大于等于10的值分配给下一位,并取余数赋值给当前位。注意边界情况的处理。
    6. 使用for循环,从高位到低位输出数组arr的元素。
    7. 程序结束。
  • 相关阅读:
    《价值流动-Project To Product》读后感
    mindspore两日集训营202209-金箍棒应用
    SPARK中的wholeStageCodegen全代码生成--GenerateUnsafeProjection.createCode说明
    C++——类和对象讲解
    从今天起真正释放创造力 | Werner Vogels 在 re:Invent 2022带来多项开发者福音
    【车辆动力】基于Matlab模拟停车动力学
    高新技术企业的10个涉税问题提醒
    [附源码]java毕业设计疫情环境下的酒店管理系统
    【django】APPEND_SLASH 路由末尾的斜杠问题
    Sublime Text 4 for Mac激活下载
  • 原文地址:https://blog.csdn.net/qq_45083002/article/details/132836338
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号