班班最大了


私信TA

用户名:dotcpp0607166

访问量:7531

签 名:

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

等  级
排  名 124
经  验 7737
参赛次数 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 人评分

  评论区

当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
  • »