c语言在一种室内游戏中,魔术师要每位观众心里想一个三位数abc,然后魔术师让观众心中记下acb

cba07
c语言在一种室内游戏中,魔术师要每位观众心里想一个三位数abc,然后魔术师让观众心中记下acb
导读:#include void main(){   int a,b,c,tmp=0,tmp2;//tmp:计算结果  tmp2:输入和 scanf("%d",&tmp2);//570420   for(a=0;a<10;a++)

#include <stdioh>

void main()

{

   int a,b,c,tmp=0,tmp2;//tmp:计算结果  tmp2:输入和

scanf("%d",&tmp2);//570420

   for(a=0;a<10;a++)

   for(b=0;b<10;b++)

   for(c=0;c<10;c++)

   {

tmp = a100000 + b10000 + c1000 + a100 + b10 + c;

tmp = tmp + b100 + a10 + c;

tmp = tmp + b100 + c10 + a;

tmp = tmp + c100 + a10 + b;

tmp = tmp + c100 + b10 + a;

if(tmp==tmp2)

{

printf("%d %d %d\r\n",a,b,c);

}

   }

   printf("ok\r\n");

}

题意得:

acb
+
bac
+
bca
+
cab
+
cba
=3194,

abc
+
acb
+
bac
+
bca
+
cab
+
cba

=(100a+10b+c)+…+(100c+10b+a)

=222(a+b+c),

则:222(a+b+c)=3194+

abc
=222×14+86+
abc

由此可以推知:

86+

abc
是222的倍数,且a+b+c>14,

设86+

abc
=222n,由于
abc
是三位数,n依次取1,2,3,4.

可得

abc
可能为:222×1-86=136;222×2-86=358,222×3-86=580,222×4-86=802,

又a+b+c>14,所以

abc
只能为358.

答:若果N=3194,那么

abc
是358.

满意回答是错的。

依题意:abc+bca+bac+cba+cab=3194。两边同时加上abc得:222(a+b+c)=3194+abc

所以:222(a+b+c)=222乘14+86+abc,因此abc+86是222的倍数,且a+b+c大于14。

设abc+86=222n,又想到abc是三位数,依次得出n=1,2,3,4

abc=136,358,580,802。abc又大于14,那么ABC一定=358