jiankeabcd 2016-05-06 10:47 采纳率: 73.9%
浏览 1394
已采纳

计算n位数为止的3的最大幂运算

对于一个正整数n(0<n<80),写一个输出n位数以内最大的3的幂运算

输入1
输出9

输入2
输出81

输入6
输出531441

输入60
输出436673502879206784130402698570834024654748577491697818855443

以下是我自己写的程序

 #include<stdio.h>
#include<string.h>

int main(void)
{
    int i,n,sum=1;
    char m[999]="1";
    scanf("%d",&n);
    for(i=1;;i++){
        if(strlen(m)>n)
            break;
        else
            sum=sum*3;
            sprintf(m,"%d",sum);
    }
    sum=sum/3;
    printf("%d\n",sum);
    return 0;
}

n=1~9的时候都没有问题,从10开始输出-346101685,大于10的时候开始不输出数值
求大神帮帮忙 谢谢!

  • 写回答

2条回答

  • 爱圈住你我 2016-05-06 11:38
    关注

    #include

    int sum[61],num[61];

    int main()
    {
    int n;
    int i;
    int l=1,val=0;
    scanf("%d",&n);
    num[0]=3;
    while(l<=n)
    {
    for(i=0;i<l;i++)
    {
    sum[i]=num[i];
    }

        for(i=0;i<l;i++)
        {
            num[i]=num[i]*3+val;
            val=num[i]/10;
            num[i]=num[i]%10;
        }
        if(val!=0) {
            num[i]=val;
            l=l+1;
            val=0;
        }
    }
    for(i=l-2;i>-1;i--)
        printf("%d",sum[i]);
    printf("\n");
    return 0;
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码