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


    抓交通肇事犯

    问题描述
    一辆卡车违反交通规则,撞人后逃跑,现场有三人目击事件,但都没有记住车号,只记下车号的一些特征,甲说:牌照的前两位数字是相同的 乙说:牌照的后两位数字是相同的,但与前两位不同, 丙是数学家,他说:四位的车号刚好是一个整数的平方 请根据以上线索求出车号
    问题分析
    按照题目的要求构造出一个前两位数相同,后两位数相同 且相互间又不同的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
    
  • 相关阅读:
    ArcGIS Server 10.2 安装教程
    leaflet 使用kriging.js实现前端自定义插值
    气象科普 -降水
    前端开发者如何用JS开发后台
    Spring的简单介绍
    Hibernate与jsp技术结合的小例子
    Servlet_001 我的第一个servlet程序
    Hibernate一级缓存和三种状态
    github提交代码
    MySql索引原理以及查询优化
  • 原文地址:https://www.cnblogs.com/xzpin/p/11484484.html
Copyright © 2020-2023  润新知