急!在线等!求做编程题!做出给分!

来源:百度知道 编辑:UC知道 时间:2024/05/28 01:43:06
一辆卡车违反交通规则,撞人后逃跑。现场有三人目击事件,但都没有记住车号,只记下车号的一些特征。甲说:牌照的前两位数是相同的;乙说:牌照的后两位数是相同的,但与前两位不同;丙是数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。
用VF的形式写出,谢!

手头没调试工具,写一个大概,其他的你自己调.语句不同思路一样,有思路了还想别人帮着写,那就是懒了。
for(i=31;i<100;i++)
{
n=i*i;//平方数车牌
if((n/1000)==((n/100)%10) && ((n/10)%10)==n%10 && n/1000!=n%10)//判断是否前两位相等、后两位相等并且前两位不等于后两位
{
printf("%d",n);
}
}
本程序还可以进行算法改进:因为前两位相等,后两位也相等,所以一定可以被11整除,所以车牌号一定是121的倍数,那么:
for(i=3;i<9;i++)
{
n=121*i*i;//平方数车牌
if((n/1000)==((n/100)%10) && ((n/10)%10)==n%10 && n/1000!=n%10)//判断是否前两位相等、后两位相等并且前两位不等于后两位
{
printf("%d",n);
}
}