【问题描述】请编程实现数字魔术——给定M值,推测符合以下计算规则的三位数X。假定该三位数为X(abc),M = acb + bac + bca + cab + cba。
【输入形式】输入一行,包含整数m。
【输出形式】输出一行,包含整数X。
【样例输入】
1209
【样例输出】
123
【样例说明】
132+213+231+312+321=1209,所以在该计算规则下,1209对应的三位数为123。
【用例规模】
确保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;
}