数学推导——小赛打怪升级
时间:2020-04-28
本文章向大家介绍数学推导——小赛打怪升级,主要包括数学推导——小赛打怪升级使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
问题:
小赛经常沉迷于网络游戏。有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为a。
在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3,…bn。
如果遇到的怪物防御力bi小于等于小赛的当前能力值c,那么他就能轻松打败怪物,并且使得自己的能力值增加bi;
如果bi大于c,那他也能打败怪物,但他的能力值只能增加bi与c的最大公约数。那么问题来了,在一系列的锻炼后,小赛的最终能力值为多少?
解决:分情况讨论
(1)b1<=当前能力值c:c=c+b1
(2)b1>c:求最大公约数:使用辗转相除法。
code:
1 package yrc5; 2 3 import java.util.Scanner; 4 5 public class Main { 6 public static void main(String args[]) { 7 Scanner s = new Scanner(System.in); 8 int n; 9 double a; 10 while(s.hasNext()) { 11 n = s.nextInt(); 12 a = s.nextDouble(); 13 for(int i=0;i<n;i++) { 14 double temp = s.nextDouble(); 15 if(temp<a) { 16 a+=temp; 17 } 18 else { 19 a+=maxFactor(a,temp); 20 } 21 } 22 System.out.printf("%.0f\n",a); 23 } 24 } 25 //求两个数的最大公约数(使用辗转相除法) 26 public static double maxFactor(double a,double temp) { 27 double r; 28 do { 29 r = a%temp; 30 a = temp; 31 temp = r; 32 }while(temp!=0); 33 return a; 34 } 35 }
原文地址:https://www.cnblogs.com/dream-flying/p/12794304.html
- Hibernate_day02总结
- Hibernate_day01总结
- ADG备库批量查询失败的原因分析(r8笔记第33天)
- 通过外部表改进一个繁琐的大查询 (r8笔记第32天)
- 一个简单的bigfile tablespace无法扩展的案例处理 (r8笔记第31天)
- 测试环境的迁移式升级和数据整合(r8笔记第27天)
- 增量数据丢失的原因分析(r8笔记第26天)
- Java全栈开发Spring学习第三天
- 一个oracle bug的简单验证(r8笔记第45天)
- 批量导出csv文件的基本尝试(r8笔记第44天)
- Golang 中的并发限制与超时控制
- 一条简单的报警信息发现的oracle bug(r8笔记第42天)
- 一条insert语句导致的性能问题分析(一)(r8笔记第40天)
- 一条insert语句导致的性能问题分析(二)(r8笔记第43天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法