題: 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。
甲说:牌照的前两位数字是相同的;
乙说:牌照的后两位数字是相同的,但与前两位不同;
丙说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。(這位仁兄是數學家)
從理論解讀來說,這三人都不是很配合交警。
問題分析、算法設計:按照题目的要求造出一个前两位数相同、
后两位数相同且相互间又不同的整数,然后判断该整数是否是另一个整数的平方。
解:
int main()
{
int i,j,k,c;
for(i=1;i<=9;i++) /*i:车号前二位的取值*/
{
for(j=0;j<=9;j++) /*j:车号后二位的取值*/
if(i!=j) /*判断二位数字是否相异*/
{
k=i*1000+i*100+j*10+j; /*计算出可能的整数*/
for(c=31;c*c<k;c++); /*判断该数是否为另一整数的平方*/
{
if(c*c==k)
{
printf("Lorry--No. is %d.\n",k); /*若是,打印结果*/
}
}
}
}
}