10分)在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、

2。(048, 10分)在一种室内互动游戏中,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、
十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要
观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是
1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请
编程模拟这个数字魔术游戏。
提示:参数是五个数的和,返回值是abc,如果找不到 abc,返回-1.
**输入格式要求:“%d”提示信息:"Input a sum:"
**输出格式要求:"The sum you calculated is wrong!\n""The number is %d\n"
程序运行示例如下:
Input a sum:1999

The number is 443

我用js实现的,你把代码改成c的就可以了,原理一样。


function getNumber(sum){
      let a,b,c;
      // acb、bac、bca、cab、cba
      for(a = 1; a < 10; a++){
        for(b = 0; b < 10; b++){
          for(c = 0; c < 10; c++){
            let total = a * 100 + 2 * b * 100 + 2 * c * 100 + 2 * c * 10 + 2 * a * 10 + b * 10 + 2 * b + c + 2 * a;
            if(total === sum){
              return `${a}${b}${c}`
            }
          }
        }
      }
      return -1
    }
    console.log('Input a sum:1999')
    console.log(`The number is ${getNumber(1999)}`)
    console.log('Input a sum:1998')
    console.log(`The number is ${getNumber(1998)}`)

img