主题:求教:有没有更好的算法?
有一群鸡和一群兔,它们的只数相同,它们的脚数都是三位数,且这两个三位数的数字分别是0,1,2,3,4,5。问鸡和兔的只数各是多少? 它们的脚数各是多少?
我的程序如下:
CLS
FOR I=50 TO 200 {I是只数的变量,采用穷举
法}
JI=2*I {JI是鸡的脚数}
TU=4*I {TU是兔的脚数}
JIBAI=INT(JI/100) {JIBAI是鸡的脚数的百位上
的数值}
JISHI=INT((JI-JIBAI*100)/10) {JISHI是鸡的脚数的十位上
的数值}
JIGE=JI-JIBAI*100-JISHI*10 {JIGE是鸡的脚数的个位上
的数值}
TUBAI=INT(TU/100) {同上三句}
TUSHI=INT((TU-TUBAI*100)/10) {同上三句}
TUGE=TU-TUBAI*100-TUSHI*10 {同上三句}
IF JIBAI<>JISHI AND JISHI<>JIGE AND JIBAI<>TUBAI AND JISHI<>TUSHI
AND TUSHI<>TUGE AND TUBAI<>TUSHI AND JIBAI<6 AND JISHI<6 AND JIGE<6
AND TUBAI<6 AND TUSHI<6 AND TUGE<6
THEN PRINT "只数=";i:"鸡的脚数=";2*i:"兔的脚数=";4*i
{让鸡的脚数与免的脚数各个位置上的数不相等且不大于6,只能是
0,1,2,3,4,5}
NEXT I
END
感觉条件语句太长太复杂,有没有更好更简便的算法呢?请各位不吝赐教!
我的程序如下:
CLS
FOR I=50 TO 200 {I是只数的变量,采用穷举
法}
JI=2*I {JI是鸡的脚数}
TU=4*I {TU是兔的脚数}
JIBAI=INT(JI/100) {JIBAI是鸡的脚数的百位上
的数值}
JISHI=INT((JI-JIBAI*100)/10) {JISHI是鸡的脚数的十位上
的数值}
JIGE=JI-JIBAI*100-JISHI*10 {JIGE是鸡的脚数的个位上
的数值}
TUBAI=INT(TU/100) {同上三句}
TUSHI=INT((TU-TUBAI*100)/10) {同上三句}
TUGE=TU-TUBAI*100-TUSHI*10 {同上三句}
IF JIBAI<>JISHI AND JISHI<>JIGE AND JIBAI<>TUBAI AND JISHI<>TUSHI
AND TUSHI<>TUGE AND TUBAI<>TUSHI AND JIBAI<6 AND JISHI<6 AND JIGE<6
AND TUBAI<6 AND TUSHI<6 AND TUGE<6
THEN PRINT "只数=";i:"鸡的脚数=";2*i:"兔的脚数=";4*i
{让鸡的脚数与免的脚数各个位置上的数不相等且不大于6,只能是
0,1,2,3,4,5}
NEXT I
END
感觉条件语句太长太复杂,有没有更好更简便的算法呢?请各位不吝赐教!