算法学习002-填数游戏 中小学算法思维学习 信奥算法解析 c++实现

news2024/10/6 2:29:37

目录

C++填数游戏

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析

七、推荐资料


C++填数游戏

一、题目要求

1、编程实现

 在小学奥数中经常会看到一些填数字的游戏,如下图所示,其中每个汉字代表一个不同的数字,要求计算出这些汉字分别代表哪个数字

2、输入输出

输出描述:输出相应的算式或者汉字对应的数字

输出样例:

二、算法分析

  1. 从题目可以看出这是一个奥赛题,五个汉字对应五个数字
  2. 这个题目可以采用枚举的方式实现
  3. 每个汉字对应0-9中任意一个数,但是“小”和“程”字不能为0
  4. 然后枚举每个数字,直到最后的计算结果相匹配

三、程序编写

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n1,n2,n3,n4,n5;
	int num,res;
	for(n1=1;n1<=9;n1++)
	{
		for(n2=0;n2<=9;n2++)
		{
			for(n3=0;n3<=9;n3++)
			{
				for(n4=0;n4<=9;n4++)
				{
					for(n5=1;n5<=9;n5++)
					{
						num = n1*10000 + n2*1000 + n3*100 + n4*10 + n5;
						res = n5 * 111111;
						if(num * n1 == res)
						{
							cout<<"n1="<<n1<<" n2="<<n2<<" n3="<<n3<<" n4="<<n4<<" n5="<<n5;
						}
					}
				}
			}
		}
	}
	return 0;
}

四、程序说明

  1. 程序的主要部分是五个嵌套的for循环,分别用来生成五位数的每一位数字
  2. 环变量n1到n5分别代表最高位到最低位
  3. 循环的范围是从0到9,因为数字只能是0到9之间的整数
  4. 在每一轮循环中,程序将生成一个五位数num,通过将每一位数字乘以相应的权重得到
  5. 然后,程序计算num与最低位数乘以111111的乘积,并将结果存储在变量res中
  6. 接下来,程序使用if语句检查num与res是否相等。如果相等,则说明找到了满足条件的五位数,将其各个位数输出
  7. 最后,程序输出满足条件的五位数的各个位数的值
  8. 这个程序的时间复杂度为O(10^5),因为有五个嵌套的循环,每个循环的迭代次数都是10。虽然复杂度比较高,但是由于数字范围较小,所以运行时间还是比较快的

 本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102

五、运行结果

n1=7 n2=9 n3=3 n4=6 n5=5

六、考点分析

难度级别:一般,这题相对而言比较典型的枚举算法思路,具体主要考查如下:

  1. 学会分析题目,找到解题思路
  2. 充分掌握变量的定义和使用
  3. 学会输入流对象cin的使用,从键盘读入相应的数据
  4. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  5. 学会枚举算法的核心思想:逐一遍历每一种可能得到最后的答案
  6. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  7. 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  8. 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、推荐资料

  • 所有考级比赛学习相关资料合集【推荐收藏】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1632796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows下pysqlite3安装

pysqlite3 下载地址&#xff1a;SQLite Download Page windows下安装 首先在官网中下载以下文件 sqlite-amalgamation-3450300.zip #源码文件 sqlite-dll-win-x64-3450300.zip # 根据系统选择32或者64&#xff0c;可通过查看我的电脑属性中查看 sqlite-tools-win-x64-345…

VSCODE通过SFTP链接VM进行开发

在vscode插件里面搜索sftp&#xff0c;安装。 安装之后&#xff0c;按ctrlshiftp&#xff0c;找到sftp的config 然后填写刚刚的IP&#xff0c;然后是你的用户名密码 如果是通过密钥链接的话就是这样配置 然后切换到这个sftp的tab里面 然后在你的项目右键&#xff0c;然后选择op…

线上盲盒小程序:未来发展趋势与前景展望

随着互联网技术的飞速发展和消费者对于个性化、娱乐化消费体验的不断追求&#xff0c;线上盲盒小程序应运而生&#xff0c;并逐渐成为一种新兴的购物和娱乐方式。本文将对线上盲盒小程序的发展趋势和前景进行展望&#xff0c;以期为相关从业者提供有益的参考。 一、线上盲盒小…

最新 COCO数据集的下载、使用方法demo最新详细教程

&#x1f4f8; 最新 COCO数据集的下载、使用方法demo最新详细教程 &#x1f310; 文章目录 &#x1f4f8; 最新 COCO数据集的下载、使用方法demo最新详细教程 &#x1f310;摘要引言正文&#x1f4d8; COCO数据集概览&#x1f680; 下载和设置COCO数据集环境准备下载数据集 &am…

推荐:两个工作利器Snipaste和ScreenToGif

引言 本文为推荐文&#xff0c;个人工作中使用的两款工具&#xff0c;介绍推荐之。 Snipaste 简介 Snipaste是一款简单但功能强大的截图工具。 免费版功能特点&#xff1a; 矩形截图&#xff0c;自动检测窗口&#xff0c;无需手动选区。 添加矩形、椭圆形状&#xff0c;可设置…

QT httpServer多线程后台服务器的例子实现

1.需求 1.1 用户需要其他平台&#xff08;web端&#xff09;调用Qt平台的接口&#xff0c;获取想要的数据并实时显示在网页里&#xff0c;比如实时的温湿度&#xff0c;用户数据等 1.2 用户需要在其他平台&#xff08;web端&#xff09;调用Qt平台的接口&#xff0c;下发数据…

值得收藏!AMI BIOS蜂鸣声代码一览表,让你在排除故障时有的放矢

序言 AMI BIOS是美国Megatrends公司生产的一种BIOS。许多流行的主板制造商已经将AMI的BIOS集成到他们的系统中。 其他主板制造商已经创建了基于AMI BIOS系统的自定义BIOS软件。基于AMI BIOS的BIOS发出的蜂鸣声代码可能与下面的真实AMI BIOS蜂鸣声代码完全相同,也可能略有不同…

Eclipse内存分析器 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用

1.visualvm实时监测 2.Memory Analyzer Tool打开 3.工具的使用可以参考 Java内存分析工具MAT(Memory Analyzer Tool)的介绍与使用 ------------------------ 1.我远程发现是其中一个客户端A请求服务器页面响应&#xff0c;一直得不到响应&#xff0c;然后客户端A一直请求&am…

C语言——字符串和字符串函数

一、字符串 实际上C语言中实际上是没有内置的字符串类型的&#xff0c;大部分字符串都是以字符型数组和常量字符串的形式存在的。 字符串可以通过多种方式在C语言中声明和初始化&#xff1a; 直接初始化&#xff1a; char greeting[] "Hello, world!"; 在这个例…

0417GoodsImgTomCat项目 实现添加储存图片 分页查询图片

0417GoodsImgTomCat项目包-CSDN博客 数据库字段&#xff1a; 界面效果

【Vivado那些事儿】使用 Python 提取 ILA 数据

ILA应该是调试AMD-Xilinx FPGA最常用的IP。 在调试中&#xff0c;我们希望 ILA 中的波形可以提供有关设计问题的所有信息&#xff0c;但情况并非如此。对于复杂的调试&#xff0c;我们还需要将 ILA 捕获的真实数据存储到可以进一步处理的文件中。根据放置 ILA 的位置&#xff0…

笔试刷题-Day10

牛客 一、DP30买卖股票的最好时机&#xff08;一&#xff09; 算法&#xff1a;虽然题目标了DP但是用贪心更快页更容易理解 import java.util.Scanner;// 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main {public static void main(String[] args) {Sca…

场外个股期权开户新规及操作方法

场外个股期权开户新规 场外个股期权开户新规主要涉及对投资者资产实力、专业知识、风险承受能力和诚信记录的要求。以下是根据最新规定总结的关键要点&#xff1a; 来源/&#xff1a;股指研究院 资产门槛&#xff1a;投资者需具备一定的资产实力&#xff0c;确保在申请开户前…

十五、freeRTOS_移植与内部实现

1.链表操作 1.1普通链表操作 #include "usart.h"#include <stdio.h> #include <string.h> #include <stdlib.h>struct person {char *name;int age;struct person *couple; };struct person w; struct person h;int main(int argc, char **arg) …

【免费Java系列】给大家出一些JavaSE基础第八天的内容案例 , 让大家更好的理解与掌握

String字符串 案例一 求取字符串的长度 public class Main {public static void main(String[] args) {String str "Hello World";String substring str.substring(6);System.out.println("截取后的字符串为&#xff1a;" substring);} }输出结果&…

使用新版ESLint,搭配Prettier使用的配置方式

概述 ESLint重大更新(9.0.0版本)后,将不再支持非扁平化配置文件,并且移除了与Prettier冲突的规则,也就是说与Prettier搭配使用,不再需要使用插件“eslint-config-prettier”来处理冲突问题。 注:使用新版的前提条件是Node.js版本必须是18.18.0、20.9.0,或者是>=21.1…

DiffSeg——基于Stable Diffusion的无监督零样本图像分割

概述 基于计算机视觉的模型的核心挑战之一是生成高质量的分割掩模。大规模监督训练的最新进展已经实现了跨各种图像风格的零样本分割。此外&#xff0c;无监督训练简化了分割&#xff0c;无需大量注释。尽管取得了这些进展&#xff0c;构建一个能够在没有注释的零样本设置中分…

解码Android应用:探索apk.sh的简化反向工程之道

解码Android应用&#xff1a;探索apk.sh的简化反向工程之道 引言 在当今数字化时代&#xff0c;Android应用的反向工程变得越来越重要。无论是应用开发者还是安全研究人员&#xff0c;都需要深入了解应用的内部结构和行为。然而&#xff0c;传统的反向工程过程常常繁琐复杂&a…

WiTUnet:一种集成CNN和Transformer的u型架构,用于改进特征对齐和局部信息融合

WiTUnet:一种集成CNN和Transformer的u型架构&#xff0c;用于改进特征对齐和局部信息融合 摘要IntroductionRelated workMethod WiTUnet: A U-Shaped Architecture Integrating CNN and Transformer for Improved Feature Alignment and Local Information Fusion. 摘要 低剂量…

LT6911UXB HDMI2.0 至四端口 MIPI DSI/CSI,带音频 龙迅方案

1. 描述LT6911UXB 是一款高性能 HDMI2.0 至 MIPI DSI/CSI 转换器&#xff0c;适用于 VR、智能手机和显示应用。HDMI2.0 输入支持高达 6Gbps 的数据速率&#xff0c;可为4k60Hz视频提供足够的带宽。此外&#xff0c;数据解密还支持 HDCP2.2。对于 MIPI DSI / CSI 输出&#xff0…