首页 > 其他分享 >1612:计算2的N次方

1612:计算2的N次方

时间:2023-12-10 11:22:55浏览次数:32  
标签:10 10001 int 1612 len ++ 计算 次方

这是一道喜闻乐见的高精度题

首先错误代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[10001];
    memset(a,0,sizeof(a));
    a[1] = 1;
    int n,m,s,t = 0,len = 0;
    scanf("%d",&n);
    for(int i = 1;i <= n;i++){
        for(int j = 1;a[j] != 0;j++){
            a[j] *= 2;
        }
        for(int j = 1;a[j] != 0;j++){
            if(a[j] >= 10){
                t = a[j] / 10;
                a[j] %= 10;
                a[j+1] += t;
            }
        }
    }
    for(int i = 1;a[i] != 0;i ++){
        len ++;
    }
    for(int i = len;i >= 1;i --){
        printf("%d",a[i]);
    }
    return 0;
}

这里是忽略了“1024”这样数中间有0的情况,所以不能用0来判定整个数的位置

改正

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a[10001];
    memset(a,0,sizeof(a));
    a[1] = 1;
    int n,t = 0,len = 1;
    scanf("%d",&n);
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= len;j++){
            a[j] *= 2;
        }
        for(int j = 1;j <= len;j++){
            if(a[j] >= 10 && j == len){
                len ++;
            }            
            if(a[j] >= 10){
                t = a[j] / 10;
                a[j] %= 10;
                a[j+1] += t;
            }
        }
    }
    for(int i = len;i >= 1;i --){
        printf("%d",a[i]);
    }
    return 0;
}

这里引入一个len变量记录数的长度,如果碰到需要进位并且碰到数的边界了就给len+1

 

标签:10,10001,int,1612,len,++,计算,次方
From: https://www.cnblogs.com/Qwehhh-maimaiDX/p/17892303.html

相关文章

  • 2023-2024-1 20231307《计算机基础与程序设计》第十一周学习总结
    作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学《计算机科学概论》第15.16章和《C语言程序设计》第10章作业正......
  • NCHU PTA7-8次PTA题目集(成绩计算系列)以及期末考试
    一、前言:最近几次的pta作业改变了以往的计价系统,转而要求我们计算成绩。起初,我并没有遇到太大困难,只需要多花一些时间就能完成。然而,由于前几次作业做得不好,导致我在接下来的两次作业中也没有取得好成绩。随着我们对Java的学习越来越深入,我们学习了类的概念,并进一步探讨了父类和......
  • 7-8次PTA题目集(成绩计算系列)以及期末考试
    一、前言第7-8次的题目集相对于前几次的题目集而言题量虽多了点,但是难度有适当的降低,比较考察学生上课学习到基本的算法和知识,考察多的为课程成绩统计程序2-3这一类题目,这两题代码量还是比较大的,不比之前写的菜单计价少,但难度相比菜单计价还是低了一点的,整个题目集主要都考察多态......
  • springboot023学生宿舍管理系统的设计与开发-计算机毕业设计源码+LW文档
    学生宿舍管理系统的设计与开发摘要:随着信息技术的日益发展深入到社会的各个角落,学生宿舍管理也不例外。为了适应现代社会人们高度强烈的时间观念,学生宿舍管理系统为学校的教学管理带来了极大的方便。我所开发的系统采用JAVA语言和IntelliJ软件作为开发工具,利用HTML、CSS,SpringM......
  • 2023-2024-1 20231410刘珈岐《计算机基础与程序设计》第11周学习总结
    2023-2024-120231410刘珈岐《计算机基础与程序设计》第11周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK11)这个作业的目标自学教材《......
  • Vue学习之Vue的计算属性与Vue内容分发
    vue计算属性vue计算属性的重点突出在属性两个字上(属性是名词),首先它是个属性其次这个属性有计算的能力(计算是动词),这里的计算就是个函数;简单点说,它就是一个能够将计算结果缓存起来的属性(将行为转化成了静态的属性),仅此而已<!DOCTYPEhtml><html><head><metacharset="U......
  • 学期2023-2024-1 20231401 《计算机基础与程序设计》第十一周学习总结
    学期2023-2024-120231401《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计)这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业这个作业的目标自学计算机科学概论第15,16章,《C语言程序设计......
  • 2023-2024-1 20231320 《计算机基础与程序设计》第十一周学习总结
    2023-2024-120231320《计算机基础与程序设计》第十一周学习总结作业信息这个作业属于哪个课程<班级的链接>(2023-2024-1计算机基础与程序设计)这个作业要求在哪里<作业要求的链接>(2022-2023-1计算机基础与程序设计第十一周作业)这个作业的目标<自学《计算机基......
  • 2023-2024-1 20231405《计算机基础与程序设计》第十一周学习总结
    2023-2024-120231405《计算机基础与程序设计》第十一周学习总结作业信息作业属于哪个课程https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP作业要求在哪里https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP/homework/13009作业的目标自学《......
  • 2023-2024-1 20231403 《计算机基础与程序设计》第十一周学习总结
    作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪里2023-2024-1计算机基础与程序设计第十一周作业)这个作业的目标自学《计算机科学概论》第15,16章,《C语言程序设计》第10章作业正文https://www.cnblogs.com/lsrmy......