请编程实现数字魔术——给定M值,推测符合以下计算规则的三位数X

【问题描述】请编程实现数字魔术——给定M值,推测符合以下计算规则的三位数X。假定该三位数为X(abc),M = acb + bac + bca + cab + cba。

【输入形式】输入一行,包含整数m。
【输出形式】输出一行,包含整数X。
【样例输入】

1209
【样例输出】

123
【样例说明】

132+213+231+312+321=1209,所以在该计算规则下,1209对应的三位数为123。
【用例规模】

确保X是一个三位数,且每个用例都能得出解决方案。


#include<iostream>
using namespace std;
#include <stdio.h>

int T( int a, int b, int c )
{
    return a*100+b*10+c;
}
 main()
{
    int m ,X, a, b, c, s;
    scanf("%d",&m);
    for(X=999;X>99;X--)
    {
        a=X/100; b=X/10%10; c=X%10;
        s = T(a,c,b)+T(b,a,c)+T(b,c,a)+T(c,a,b)+T(c,b,a);
        if(s==m) break;
    }
    if(X > 99)
        printf("%d",X);
    return 0;
}
 

img