南阳OJ 题目34 韩信点兵
2017-04-21 16:47
323 查看
算法网站:题目34 韩信点兵
算法优化相关查询:来自数学理论的一个解法,看他们讨论得热火朝天,然而我还是没看懂
算法相关材料介绍:打发下时间可以看看
时间限制:3000 ms | 内存限制:65535 KB
难度:1
描述相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。
输入输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。例如,输入:2 4 5
输出输出总人数的最小值(或报告无解,即输出No answer)。实例,输出:89
样例输入
样例输出
求i,i%3==a && i%5==b && i%7==c,其中7<i<=100
算法优化相关查询:来自数学理论的一个解法,看他们讨论得热火朝天,然而我还是没看懂
算法相关材料介绍:打发下时间可以看看
题目信息:
韩信点兵
时间限制:3000 ms | 内存限制:65535 KB难度:1
描述相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。
输入输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。例如,输入:2 4 5
输出输出总人数的最小值(或报告无解,即输出No answer)。实例,输出:89
样例输入
2 1 6
样例输出
41
算法思路:
用最简单最暴力的蛮力法求解,优化的算法还没看懂.....要是看懂啦就贴在楼下吧。求i,i%3==a && i%5==b && i%7==c,其中7<i<=100
测试结果:
代码实现:
package com.Basic; import java.util.Scanner; /* * Dragon * 韩信点兵:http://acm.nyist.net/JudgeOnline/problem.php?pid=34&rec=rec */ public class Num_34 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int a=in.nextInt(); int b=in.nextInt(); int c=in.nextInt(); int result=0; for(int i=7;i<=100;i++) { if(i%3==a && i%5==b && i%7==c) { result=i; break; } } if(result==0) System.out.println("No answer"); else System.out.println(result); } }
运行结果:
相关文章推荐
- 南阳oj 题目34 韩信点兵
- 题目34-韩信点兵
- 题目34-韩信点兵
- nyoj题目34:韩信点兵
- 南阳oj 士兵杀敌(二) 题目116 NYOJ 数据结构
- 南阳oj 题目1 A+B Problem
- 南阳oj 题目39 水仙花数
- 南阳oj 表达式求值 题目305 数据结构
- 南阳 oj 擅长排列的小明 题目19
- 南阳 oj 比大小 题目73
- 南阳oj 题目4 ASCII码排序
- 南阳oj 题目41 三个数从小到大排序
- 南阳oj 题目217 a letter and a number
- 南阳oj 题目115 城市平乱 迪杰斯特拉
- 南阳OJ之语言入门 题目39 - 水仙花数
- 南阳oj 语言入门 精挑细选 题目 263
- 南阳 oj D的小L 题目366
- 有趣的数 【南阳oj 题目85】
- 南阳oj 前缀式计算 题目218
- 【南阳OJ分类之语言入门】80题题目+AC代码汇总