关一个

来源:互联网 发布:ata游戏美工中级 编辑:程序博客网 时间:2024/04/19 21:31

一位卡车司机违反交通规则,撞死了行人。当时有三位目击者,都没有看清卡车的牌照号码,只记住了牌照的某些特征:甲记住前两个数字是相同的,乙记住牌照的后两位数字是相同的,丙是一位数学家,他说:“牌照号码肯定是一个四位数,并且这个四位数恰好是一个整数的平方。”根据这些,你能否正确判断出牌照号码?

 


 

      

#include<stdio.h>
void main()
{
 int num=0;
 int i,j,a,b;
 //由于知道牌照号码肯定是一个四位数,并且这个四位数恰好是一个整数的平方。所以我们可以知道这属于31-100的平方
 for(int y=31;y<100;y++){
  //num为31-100平方所得的一个4位数
  num=y*y;
  //i为num的千位数
  i=num/1000;
  //j为num的百位数
  j=(num-i*1000)/100;
  //a为num的十位数
  a=(num/10)%10;
  //b为num的个位数
  b=(num%10);
  //选出符合千位和百位、十位和个位相等的数,
  if(i!=0 && j!=0 && i==j && a==b)
  {
   printf("%d\n%d\n",num,y);
  }
 }
}