首页 > 其他 > 详细

初级系列4.抓交通肇事犯问题

时间:2019-09-08 11:32:49      阅读:140      评论:0      收藏:0      [点我收藏+]

抓交通肇事犯

问题描述
一辆卡车违反交通规则,撞人后逃跑,现场有三人目击事件,但都没有记住车号,只记下车号的一些特征,甲说:牌照的前两位数字是相同的 乙说:牌照的后两位数字是相同的,但与前两位不同, 丙是数学家,他说:四位的车号刚好是一个整数的平方 请根据以上线索求出车号
问题分析
按照题目的要求构造出一个前两位数相同,后两位数相同 且相互间又不同的4位整数,然后判断该整数是否是另一个整数的平方。即求一个四位数,满足如下的条件
|--a = b 1<=a<=9,0<=b<=9
|--c = d 0<=c,d<=9
|--a != c
|--1000a + 100b + 10c + d = x^2, x={z}
算法设计
该题目是数值计算问题,需要求解不定方程组 对于求解不定方程组的问题,一般采用穷举法

/* !< use c */
#include <stdio.h>

int main(void)
{
    int i, j,k,tmp; /* !< i代表前两位车牌号数字,j代表后两位车牌号的数字,k代表车牌号*/

    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 (tmp = 31; tmp <= 99; tmp++) {
                    if (tmp * tmp == k) {
                        printf("车牌号为%d", k);
                    }
                }
            }
        }
    }
}
/* !< use python */
for i in range(10):
for j in range(10):
    if i != j :
        k = 1000 * i + 100 * i + 10 *j + j
        for temp in range(31,100):
            if temp * temp == k:
                print("k=",k)
/* !< output */
    k= 7744

初级系列4.抓交通肇事犯问题

原文:https://www.cnblogs.com/xuzhaoping/p/11484484.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!