韩信点兵(hanxin)–算法竞赛经典习题2-2:相传韩信才智过人,从不清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,他每次只要掠一眼队伍的排尾就知道总数。
(C++实现)
题:

输入包含多组数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100.输入到文件结束为止。

样例输入:

2 1 6
2 1 3

样例输出:

Case1: 41
Case2: No answer

话不多说,先看代码:

#include<iostream>
#include <cstdlib>#include <iomanip>
using namespace std;
int main()
{int a, b, c,i,n,k=1;do{n = -1;cout << "输入三组数据:" << endl;cin >> a >> b >> c;for (i = 10; i <= 100; i++)if (i % 3 == a && i % 5 == b && i % 7 == c){n = i;break;}if (n < 0){cout << "无解" << endl;k = 0;}elsecout << n << endl;} while (k == 1);return 0;
}

思路解析:
本题主要在于对同一个数做判断处理,它需要符合三个条件,同时整除3、5、7之后还是它符合要求。
另外,复杂的是找到符合要求的,先赋值替换掉,可以直接break。如果找不到该值,终止循环,就进行判断n的情况,没有符合的其实n=-1,无解。符何要求的,输出该值就OK。
另外,重要的是对最后一句画的理解,输入到文件结束时为止,等于是一直符合条件的需要一直输出,最后无解的情况才退出程序,这里再加一个do-while循环,添加一个k值进行判断。
程序运行示例如下所示:

新手驾到,多指教!

韩信点兵(hanxin)--算法竞赛经典习题2-2:相传韩信才智过人,从不清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,他每次只要掠一眼队伍的排尾就知道总数(C++实现)相关推荐

  1. 韩信点兵-相传韩信才智过人,从不直接清点自己部下的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c

    相传韩信才智过人,从不直接清点自己部下的人数,只要让士兵先后以三人一排.五人一排.七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了.输入3个非负整数a,b,c ,表示每种队形排尾的人数(a ...

  2. 韩信点兵python源代码_少儿编程|Python小课堂 – 韩信点兵

    相传,韩信才智过人,从不直接清点军队的人数,只要让士兵三人一排,五人一排,七人一排地变换队形,而每次他只扫一眼排位就知道总人数了.输入包含多组数据,每组数据包含3个非负整数a,b,c.表示每种队形的排 ...

  3. 韩信点兵C++算法实现

    问题描述 今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?这个问题就是韩信点兵. 算法实现 #include<iostream> using namespace std ...

  4. 《算法竞赛中的初等数论》(一)正文 0x00整除、0x10 整除相关(ACM / OI / MO)(十五万字符数论书)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 写在最前面:本文部分内容来自网上各大博客或是各类图书,由我个人整理,增加些许见解,仅做学习交流使用,无 ...

  5. 算法入门经典习题第一章

    习题1-1 平均数(average) #include<iostream> #include<bits/stdc++.h> using namespace std; int m ...

  6. 韩信点兵python算法_韩信点兵和搬砖问题

    「你将学到什么?」 编程实战算法与世界五百强面试,不是念PPT,我们讲的就是实战与代码实现与企业应用.程序 = 数据结构 + 算法 --图灵奖得主,计算机科学家N.Wirth(沃斯) 作为程序员,我们 ...

  7. 1-4 鸡兔同笼(算法竞赛经典入门)

    这个属于初级阶段传递给初学者的一个思想,那就是计算机是不可以计算方程式的,需要你具体的告诉它每一步需要做什么. 源码如下: #include<iostream> #include<b ...

  8. 算法竞赛入门习题2-3倒三角

    #include<stdio.h> int main() { int n; scanf("%d",&n); for(int i=0;i<n;i++) { ...

  9. Uva 101 the block problem 木块问题(算法竞赛经典入门)STL vector

    Uva 101 the block problem 木块问题 题目大意: 输入n,得到编号为0~n-1的木块,分别摆放在顺序排列编号为0~n-1的位置.现对这些木块进行操作,操作分为四种. 1.mov ...

最新文章

  1. 约瑟夫环 猴子选大王
  2. 数据挖掘如何分箱以及如何对每个箱子中的数据进行平滑处理
  3. 【每日训练】2020/11/9(Splay ?rope大法好!、数论、构造补图)
  4. linux vi修改后如何保存
  5. 大学暑假第四周进度报告
  6. Mysql导出表结构及表数据 mysqldump用法
  7. 7-57 愿天下有情人都是失散多年的兄妹 (25 分)(深搜)
  8. 用Bi-GRU语义解析,实现中文人物关系分析 | 附完整代码
  9. 文件、异常、模块——初步了解
  10. SQL注入理解与防御
  11. FPT工具LeapFTP3.1.0.50 的注册码
  12. TYPORA主题更换
  13. win10 android叹号,win10系统设备管理器驱动显示黄色感叹号的详细技巧
  14. SQL查询语句注入实战(手注,显注)
  15. SECTION 24 面向对象编程(三)
  16. OSG内置的枚举键值与键盘的对应关系
  17. 泡泡堂、QQ堂游戏通信架构分析 zz
  18. 一个程序员的工作总结
  19. 学习笔记:深度学习(3)——卷积神经网络(CNN)理论篇
  20. [机缘参悟-22]:鬼谷子-闭藏之术,适时收藏自己的锋芒,在职场、商务、商业活动中保护自己

热门文章

  1. CCNA专业英文词汇红宝书
  2. Dev c++与vs
  3. php怎么启用浏览器缓存,如何停用浏览器中的缓存? - php
  4. 最大流算法之一——EK算法
  5. 常用的webservice接口 .
  6. 【Web技术】1397- 深入浅出富文本编辑器
  7. 为何要从用户角度出发来思考问题
  8. 非常有用的免费UI设计工具和资源
  9. C++实验——自幂数(数学黑洞你怕不怕)
  10. 英语日常短语积累(6)-银行考试真题