国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后两天(第2天和第3天)里,每天收到两枚金
本人看了下其他同志代码,觉得我哦的思路简介
【题目描述】
国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后两天(第2天和第3天)里,每天收到两枚金币;之后三天(第4、5、6天)里,每天收到三枚金币;之后四天(第7、8、9、10天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续n天每天收到n枚金币后,骑士会在之后的连续n+1天里,每天收到n+1枚金币(n为任意正整数)。
你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。
【输入】
一个整数(范围1到10000),表示天数。
【输出】
骑士获得的金币数。
【输入样例】
6
【输出样例】
14
#include<iostream>
using namespace std;
int main()
{int n;cin >> n;int h=0;//记录前一个iint l = 1 , i , sum = 0;for( i=1;i<=n;i+=l)//这个过程请读者带数运行以下就理解了{sum+=l*(i-h);//总的金币相加l++;//下一次给的金币数h=i;//记录前一个i,(i-h)就课以得到发工资都相同得天数}if(i!=n)//如果不相等就说明sum小于真实值,就是不满足下一个同样工资得天数!=(i-h)个;{sum+=(n-h)*l;//将剩余得加起来;}cout<<sum;
}
个人认为这个时间复杂度很小,理解也比较容易;
点个赞吧老哥《0.0》;
国王将金币作为工资,发放给忠诚的骑士。第1天,骑士收到一枚金币;之后两天(第2天和第3天)里,每天收到两枚金相关推荐
- C# 计算国王将金币作为工资,发放给忠诚的骑士
题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到-枚金币:之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四.五.六天),每天收到三枚金币;之后四天(第七.八.九.十天),每 ...
- 国王将金币作为工资,发放给忠诚的骑士。
题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后2天(第2天和第3天),每天收到2枚金币:之后3天(第4,5,6天),每天收到3枚金币:之后4天(第7,8,9,10天), ...
- 国王将金币作为工资,发放给忠诚的骑士。 问题 G: 金币
题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天(第七.八.九.十天),每 ...
- P2669 金币,国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十
题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天(第七.八.九.十天),每 ...
- 金币问题(国王将金币作为工资,发放给忠诚的骑士。)
题目描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天),每天收到两枚金币:之后三天(第四.五.六天),每天收到三枚金币:之后四天(第七.八.九.十天),每 ...
- 国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里
描述 国王将金币作为工资,发放给忠诚的骑士.第一天,骑士收到一枚金币:之后两天(第二天和第三天)里,每天收到两枚金币:之后三天(第四.五.六天)里,每天收到三枚金币:之后四天(第七.八.九.十天)里, ...
- 称金币问题: 有27枚金币,其中一个是假的。假的比真的略轻。现在有一个天平,问最少几次可以找出假币?
称金币问题: 有27枚金币,其中一个是假的.假的比真的略轻.现在有一个天平,问最少几次可以找出假币? 1.此类题的最佳策略: 将总数尽可能等量的分三组进行测重:每称两组的时候,自然的能和剩下的一组进行 ...
- 使用Golang语言的分金币作业 你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaro
//分金币作业 // 你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizabet ...
- go 你有50枚金币,需要分配给以下几个人
你有50枚金币,需要分配给以下几个人:Matthew,Sarah,Augustus,Heidi,Emilie,Peter,Giana,Adriano,Aaron,Elizabeth. 分配规则如下: ...
最新文章
- Revit结构2021专业人士的选择:从入门到专业
- 云环境上如何使用tensorboard
- 《当程序员的那些狗日日子》(十二)公司里的靓丽风景
- 根据时间变换页面背景
- 文件服务器监控用户修改信息,文件服务器监控日志软件
- spark-sql建表语句限制_SparkSQL
- sql 大数据量插入优化
- 今天开始用 VSU 2010
- 【JY】精彩仿真书籍推荐与投票~
- Java Swing 如何让界面更加美观
- Unity 如何实现批量修改图片格式
- @scheduled 定时任务执行一段时间后莫名其妙停止 Ftp假死
- 【2021-07-23】JS逆向之雷速体育canvas渲染数据解密
- 七日杀服务器直连教程,七日杀连接服务器延迟几万 | 手游网游页游攻略大全
- 【分布式版本控制系统】GIT 托管网站 客户端
- docker logs查看日志
- h5调用微信,微博等分享
- 计算机毕业设计(附源码)python学生社团管理
- 这才是目前百度统计接口的正确打开方式20180322
- 万象管理系统需要服务器吗,万象网吧管理系统在使用中常见的几个问题