1.4算法入门之车牌号

一 . 问题描述

一辆卡车违反交通规则后肇事逃逸,现场有三人目击该事件,但都没有记住车牌号,但是都提供了线索,甲说前两位相同的,乙说后两位相同,但与前两位不同,丙是位数学家,说四位的车号刚好是一个整数的平方,请根据以上线索求出四位车牌号

二. 问题分析

四位数a1,a2,a3,a4满足以下条件

1> 0=<a1.a2.a3.a4<=9

2> a1=a2

3> a3=a4

4> a1不等于a3

5>1000*a1+100*a2+10*a3+a4=x*x x属于实数

三. 算法设计

数值计算问题,求解不定方程,对于求解不定方程组一般用穷举循环,该题目运用的是双层穷举

外层双循环穷举出车牌号

里层穷举出平方值为四位数的是否与车牌号相等


#include <stdio.h>


int main(int argc,const char * argv[]) {

// insert code here...

int i,j,k,temp,flag=0;//i代表前两位,j代表后两位k代表车牌号,temp代表某个数

//flag代表找到了,找到了就退出循环;可以提高效率;

//i!=j为已知条件

for (i=1; i<=9; i++)

{

if (flag) {

break;

}

for ( j=0; j<=9; j++)

{

if (flag) {

break;

}

//if (i!=j)

{

k=1000*i+100*i+10*j+j;

for (temp=31; temp<=99; temp++)

{

if (temp*temp==k) {

printf("k=%d\n",k);

flag=1;

break;

}

}


}

}

}


return 0;

}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值