H2230823013


私信TA

用户名:dotcpp0607166

访问量:4867

签 名:

哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈

等  级
排  名 136
经  验 7304
参赛次数 2
文章发表 35
年  龄 3
在职情况 待业
学  校 贺州学院
专  业 数据

  自我简介:

谢谢大家,让大家见笑了

解题思路:

注意事项:涉及高精度计算(用数组)

参考代码:

#include <stdio.h>

int a[100000];

int main()

{

     int k=1,n=0,i,j;

     scanf("%d",&n);

     a[1]=1;

     for(i = 1; i <= n; ++i)

     {

          int x=0;

          for(j = 1; j <=k; ++j)

          {

              a[j] = a[j]*2+x;

              x = a[j]/10;

              a[j] = a[j]%10;

              if(x!=0 && j==k) k++;//计算到最高位并且有进位,长度加1 

          }

     }

     for(i = k; i >= 1; --i) printf("%d",a[i]); 

     return 0;


 

0.0分

6 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

当n=4时,a[1]=8*2+0=16,此时进位,k++,循环体里j++, a[j] = a[j]*2+x;此时j=2,就变成a[2] = a[2]*2+x;a[2]的值是哪里来的呢,没有想明白
2023-04-02 20:14:40
陈浩毅真他妈得帅!
2022-11-10 22:57:27
  • «
  • 1
  • »