作业帮 > 综合 > 作业

一道简单的C++编程题,题目描述在下面呢,请求各位帮帮我!

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/06/17 17:13:31
一道简单的C++编程题,题目描述在下面呢,请求各位帮帮我!
用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。 如果只有5个砝码,重量分别是1,3,9,27,81。则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中)。 要求编程实现:对用户给定的重量,给出砝码组合方案。(用-数表示砝码和称重物放在同一个盘子里)
输入样例:
5
19
输出样例:
9 -3 -1
27 -9 1
一道简单的C++编程题,题目描述在下面呢,请求各位帮帮我!
#include <stdio.h>
int main() 

    int a[5]={0},b[5]={1,3,9,27,81},i,n;
    scanf("%d",&n);
    i=0;
    while(n>0)
      {
        a[i]=n%3;
        n=n/3;
        i++;
       }
    for(i=0;i<4;i++)
       switch(a[i])
        {
          case 2:a[i]=-1;a[i+1]++;break;
          case 3:a[i]=0;a[i+1]++;
          }
    for(i = 4; i>=0; i--) 
       if(a[i])
          printf("%d ", a[i]*b[i]);    
    printf("\n");
    return 0;
}