【C语言编程练习】5.7填数字游戏求解
之前的东西就不上传了,大致就跟现在的一样
1. 题目要求
计算
ABCD
* E
DCBA
这个算式中每个字母代表什么数字?
2. 题目分析
如果是我们人去做这道题会怎么办,一定是这样想把,一个四位数乘以一个一位数结果等于一个四位数,并且这两个四位数每位数字不同,且顺序相反。
那就用计算机穷举吧~
穷举的精髓就是找到其解空间,然后找出符合条件的数!
3. 代码尝试
【难点】如何实现解空间?如何判断ABCDE不相等?
- 四位数空间:(1000,10000)
- 将值取出,并一一比较
【最终版本代码】
#include <stdio.h>
int reverse(int i){
int m,j=0;
m = i;
while(m){
j=j*10+m%10;
m = m/10;
}
return j;
}
int func(int i,int j){
//如何判断5个数字不相同?将每一位分解出来,逐一比较
int buf[4],k=0;
while(i){
buf[k]=i%10;
i=i/10;
k++;
}
if(buf[0]==buf[1])return 0;
if(buf[0]==buf[2])return 0;
if(buf[0]==buf[3])return 0;
if(buf[0]==j)return 0;
if(buf[1]==buf[2])return 0;
if(buf[1]==buf[3])return 0;
if(buf[1]==j)return 0;
if(buf[2]==buf[3])return 0;
if(buf[2]==j)return 0;
return 1;
}
int main()
{
int i,j;
for(i=1000;i<10000;i++){
for(j=1;j<10;j++){
if(i*j==reverse(i)&&func(i,j)){
printf("%d\n",i);
printf("* %d\n",j);
printf("--------\n");
printf("%d",reverse(i));
}
}
}
return 0;
}
4. 思考
如何让两两比较更高效?
【C语言编程练习】5.7填数字游戏求解的更多相关文章
- TOJ 1220 填数字游戏 / 深搜
填数字游戏 时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte 描述 有个小游戏,让你填写以下方框,要求: a1+a2+a3+M=b1+b2+b3+M ...
- C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享
游戏介绍 你玩过2048吗?2048是一款流行于各大网页和手机的数字游戏,手机安卓版推出的是<挑战2048>,之后的版本中还加入了双人对战的游戏模式,更加受到玩家的热捧. 2048的游戏规 ...
- C语言编程学习开发的俄罗斯方块小游戏
C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...
- linux 操作系统下c语言编程入门
2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 ...
- 个人c语言编程风格总结
总结一下我个人的编程风格及这样做的原因吧,其实是为了给实验室写一个统一的C语言编程规范才写的.首先声明,我下面提到的编程规范,是自己给自己定的,不是c语言里面规定的. 一件事情,做成和做好中间可能隔了 ...
- Linux下C语言编程实现spwd函数
Linux下C语言编程实现spwd函数 介绍 spwd函数 功能:显示当前目录路径 实现:通过编译执行该代码,可在终端中输出当前路径 代码实现 代码链接 代码托管链接:spwd.c 所需结构体.函数. ...
- ACM/ICPC 之 DP进阶(51Nod-1371(填数字))
原题链接:填数字 顺便推荐一下,偶然看到这个OJ,发现社区运营做得很赞,而且交互和编译环境都很赞(可以编译包括Python,Ruby,Js在内的脚本语言,也可以编译新标准的C/C++11,甚至包括Go ...
- 华为C语言编程规范
DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...
- c语言编程实例——小球跳动
1.预备知识 1.1 相关头文件 "#include"是c语言中用以申明所需调用的库函数或自定义函数的头文件路径及文件名.#include ""和#includ ...
随机推荐
- VMware 常见问题及解决办法
Ø 简介 本文介绍使用 VMware 虚拟机时常见的问题及解决办法,主要包括: 1. 虚拟机操作系统装好后,每次进入虚拟机还进入安装程序 2. 虚拟机不能与主机复制粘帖 3. 解决错误: ...
- 开放源代码的设计层面框架Spring——day03
spring第三天 一.AOP的相关概念 1.1AOP概述 1.1.1什么是AOP AOP:全称是Aspext Orie ...
- Laravel框架中打印sql
在使用Laravel框架的时候,调试的时候,需要将查询的SQL输出校验,这是需要将SQL打印出来. 一.方法 DB::connection()->enableQueryLog(); // 开 ...
- docker安装redis
查询镜像 docker search redis 拉取镜像 docker pull redis 启动容器 docker run --name redis -p 6379:6379 -d --resta ...
- 2018-2019 20165237网络对抗 Exp5 MSF基础应用
2018-2019 20165237网络对抗 Exp5 MSF基础应用 实验目标 本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路.具体需要完成: 一个主动攻击实践,如 ...
- Mask_RCNN学习记录(matterport版本)
资源链接 Mask R-CNN论文 matterport版本的GitHub 基于Keras和Tensorflow GitHub上还有Facebook的官方实现版本:Detectron maskrcnn ...
- [Kubernetes]深入理解StatefulSet
前面我写的一系列博客,如果你能够耐心看到这一篇,那你应该对一个概念就不是太陌生了:Deployment. 为什么提这个概念呢,这就要说到Deployment的一个不足了.Deployment不足以覆盖 ...
- powerdesigner添加mysql的字符集ENGINE和DEFAULT CHARACTER SET
工具栏->database->edit current DBMS 然后,选中:MYSQL50::Script\Objects\Table\Options 在options末尾添加: ENG ...
- Charles使用心得总结
一.下载/安装/配置 1.1下载并安装Charles. mac版和window版都有,下载可以去Charles官网(http://www.charlesproxy.com/download/),下载下 ...
- hibernate-第二章-关系映射
一,持久化类 持久化类就是之前写过的实体类 持久化类必须符合javabean规范,属性必须有set和get方法; 持久化类的属性类型可以是8种基本类型或对应的包装类,通常定义包装类型,因为包装类型可以 ...