C++每日一练——抓交通肇事犯

C++每日一练——抓交通肇事犯

————题源来自博主飞向星的客机c语言每日一练

1. 问题描述

一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,但都没有记住车号,只记下车号的一些特征。

甲说:牌照的前两位数字是相同的;//设为i

乙说:牌照的后两位数字是相同的,但与前两位不同;//设为j,且i!=j。

丙是数学家,他说:四位的车号刚好是一个整数的平方。

请根据以上线索求出车号。

分析问题

该题目是数值计算问题,求解不定方程。

对于这种求解不定方程组的问题,一般采用穷举循环。

首先设计双层循环穷举出所有由前两位数和后两位数组成的 4 位数车牌;

然后在最内层穷举出所有平方后值为 4 位数并且小于车牌号的数;

最后判断该数是否与车牌相等,若相等则打印车牌。

#include<iostream>

#include<stdio.h>

using namespace std;

int main()

{

        int i = 0;//i代表前两位车牌号数字,i属于零到九。

        int j = 0;//j代表后两位车牌号数字,j也属于0--9.

        int k = 0;//k代表车牌号

        int temp = 0;

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

        {

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

             {

                 //判断前两位数和后两位数字是否不同

                 if (i != j)

                 {

                     //组成4位车牌号

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

                     //判断k是否是某个数的平方,若是则输出k

                     for (temp = 31; temp <= 99; temp++)//从32开始一个数的平方才会大于1000.

                     {

                         if (temp * temp == k)

                         {

                             cout << "车牌号为:" << k << endl;

                         }

                     }

                 }

             }

        }

        return 0;

    }

   

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值