如题:ABCS为一个四位整数,这个整数乘以9,得到的数正好是它各各数位反过来。求A,B,C,S各是什么数?
ABCS*9=SCBA老大们,不要编程穷举,说说它的算数算法。我笨笨,先穷举出来,才明白道理。#include <iostream.h>void main()
{
int a,b,c,s;
int num;
a=b=c=s=num=0;
int i;
for(i=1000;i<10000;i++)
{
a=int(i/1000);
b=int((i%1000)/100);
c=int((i%100)/10);
s=int(i%10);
num=(s*1000)+(c*100)+(b*10)+a;
if((i*9)==num) cout<<"fun is:"<<i<<"*"<<"9"<<"="<<num<<endl;}}
ABCS*9=SCBA老大们,不要编程穷举,说说它的算数算法。我笨笨,先穷举出来,才明白道理。#include <iostream.h>void main()
{
int a,b,c,s;
int num;
a=b=c=s=num=0;
int i;
for(i=1000;i<10000;i++)
{
a=int(i/1000);
b=int((i%1000)/100);
c=int((i%100)/10);
s=int(i%10);
num=(s*1000)+(c*100)+(b*10)+a;
if((i*9)==num) cout<<"fun is:"<<i<<"*"<<"9"<<"="<<num<<endl;}}
s=9,不然相乘结果未们不会是1
c+8 = b
b只能是1或者0,不然结果大于4位
b=0, c=2
b=1, c=3(排除)
1029*9 = 9201
2 9*S%10=1,那么S只能是9
3 同时9*C+8%10=B
4 因为B*9不进位,那么B只能是0或1
5 先按B=1分析,通过3可分析出C只能是7,配到整个表达式中不匹配,错误
6 再按B=0分析,通过3可分析出C只能是8,代到表达式中计算,正确,结果是1089*9=9801
分析时间:3分钟