当前位置: 首页 > news >正文

C练习——魔术师猜三位数

题目:

有一种室内互动游戏,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。请编程模拟这个数字魔术游戏。

解析:

设五个数和为m, m =acb+bac+bca+cab+cba 

acb = 100a +10b +c ,如此拆开,最后 m = 122a+212b+221c

a、b、c三者均当过百位,范围为:1到9

三层循环a,b,c 的值,判断是否与m相等

逻辑:

三层for循环加if判断

参考代码:

// 有一种室内互动游戏,魔术师要每位观众心里想一个三位数abc(a、b、c分别是百位、十位和个位数字),
// 然后魔术师让观众心中记下acb、bac、bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,
// 则魔术师一定能猜出观众心里想的原数abc是多少。
// 例如,观众甲说他计算的和值是1999,则魔术师立即说出他想的数是443,
// 而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。
// 请编程模拟这个数字魔术游戏。#include <stdio.h>
int magic(int m)
{int a = 0;int b = 0;int c = 0;int sum = 0;for (a = 1; a <= 9; a++){for (b = 1; b <= 9; b++){for (c = 1; c <= 9; c++){sum = 122*a + 212*b + 221*c;if (sum == m){return 100 * a + 10 * b + c;}}}}return -1;
}
int main()
{int m = 0;int flag = 0;scanf("%d", &m);flag = magic(m);if (flag != -1){printf("abc is %d\n", flag);}else{printf("input is wrong!");}return 0;
}

运行结果:

 

http://www.lryc.cn/news/278770.html

相关文章:

  • three.js 使用 tweenjs绘制相机运动动画
  • Oracle VARCHAR和VARCHAR2区别
  • HarmonyOS 开发基础(八)Row和Column
  • Visual Studio中项目添加链接文件
  • 做一个个人博客第一步该怎么做?
  • vue前端开发自学练习,Props数据传递-类型校验,默认值的设置!
  • Fooocus 使用笔记
  • 18. 从零用Rust编写正反向代理, 主动式健康检查源码实现
  • [DM8] 达梦8配置兼容Oracle
  • 【Pytorch简介】1.Introduction 简介
  • 什么是Session以及如何在 NestJS 项目中的优雅管理 Session
  • 高级分布式系统-第6讲 分布式系统的容错性--故障/错误/失效/异常
  • 网络多线程开发小项目--QQ登陆聊天功能(服务端推送新闻、离线留言和文件)
  • Jtti:有哪些方法可以提升Tomcat的性能?
  • LeetCode 2085. 统计出现过一次的公共字符串
  • 130基于MATLAB并结合IBD算法的盲迭代反卷积法进行图像复原
  • Flying HTML生成PDF添加水印
  • MySQL 8.0 InnoDB Tablespaces之Temporary Tablespaces(临时表空间)
  • 轴承滚珠故障的理论推导与计算(修订中...)
  • NVMe系统内存结构 - PRP与PRP List
  • 系列二、Spring Security中的核心类
  • 基于多反应堆的高并发服务器【C/C++/Reactor】(中)HttpRequest 提取请求行、解析请求行和优化 以及解析请求头并存储
  • 数据结构-测试1
  • 【设计模式】01-前言
  • SpringBoot源码分析
  • 约数个数和约数之和算法总结
  • 数据结构-怀化学院期末题(322)
  • 小手也能用的高性能鼠标,自定义空间还挺高,雷柏VT9Pro mini上手
  • CDN加速原理详解
  • sqlachemy orm create or delete table