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

noi 1.5 45:金币

描述

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去:当连续N天每天收到N枚金币后,骑士会在之后的连续N+1天里,每天收到N+1枚金币(N为任意正整数)。

你需要编写一个程序,确定从第一天开始的给定天数内,骑士一共获得了多少金币。

输入

一个整数(范围1到10000),表示天数。

输出

骑士获得的金币数。输入一个整数(范围1到10000),表示天数。输出骑士获得的金币数。

样例输入

6

样例输出

14






法一
#include<iostream>
using namespace std;
int n;
int main()
{
    cin>>n;
    int t=0,s=0,z=0;//t表示当前每天可以得到几枚金币,s表示当前金币总数,z表示当前总天数 
    while(1)
    {
        t++;
        if(t+z> n) break;
/*t=a既可以表示当前每天可以得到a枚金币,也可以表示得a枚金币的状态即将持续a天
,注意是即将持续,也就是这a*a枚金币在这时还没有累积,而z是当前已经计算了的天数。
当t+z>n时,也就是如果用a*a的当时累加,会使得到金币的天数>n,
所以要break,通过后面的for循环一天一天的加。*/
        s+=t*t;//t*t为这t天一共可得的金币数
        z+=t;
    }
    for(int i=z+1;i<=n;i++) s+=t;/*当上面t+z=n时,不会break,累加一次t*t,
    此时恰好得了n天的金币,z=n,for循环条件不满足,不执行。*/
    cout<<s;

法二

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int n,t=0,s=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=i;j++) 
        {  
            if(t>=n) break;//eg:t=6时说明已经循环了6天,当t=6进入循环是已经是第七天的钱
            s=s+i;
            t++;//t表示已经过的天数
        }
    }
    cout<<s;
    return 0;
}

 

转载于:https://www.cnblogs.com/z360/p/6260385.html

相关文章:

  • nginx location配置
  • ArcGIS Engine 编辑- IWorkspaceEdit
  • Access-Control-Allow-Origin与跨域
  • linux下alsa架构音频驱动播放wav格式文件
  • [转].NET Core配置文件加载与DI注入配置数据
  • Makefile注意点总结
  • 深入浅出Puppet(一)
  • Mirco F-measure and Macro F-measure
  • mac上使用zsh配置环境变量
  • find用法积累
  • c# 静态变量【学习笔记】
  • linux内核栈与用户栈【转】
  • NodeJS Stream 二:什么是 Stream
  • 枚举转中文,通过反射方法与描述的方式获取
  • log file sync 等待超高一例子
  • -------------------- 第二讲-------- 第一节------在此给出链表的基本操作
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • bearychat的java client
  • JSONP原理
  • REST架构的思考
  • Vue全家桶实现一个Web App
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 从0到1:PostCSS 插件开发最佳实践
  • 从setTimeout-setInterval看JS线程
  • 电商搜索引擎的架构设计和性能优化
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 简单实现一个textarea自适应高度
  • 前端面试总结(at, md)
  • 实现简单的正则表达式引擎
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​VRRP 虚拟路由冗余协议(华为)
  • # Panda3d 碰撞检测系统介绍
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (二)斐波那契Fabonacci函数
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转)http-server应用
  • (转)nsfocus-绿盟科技笔试题目
  • (转)shell调试方法
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转载)深入super,看Python如何解决钻石继承难题
  • .bat批处理出现中文乱码的情况
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET Micro Framework 4.2 beta 源码探析
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • [ NOI 2001 ] 食物链
  • []sim300 GPRS数据收发程序
  • [【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器
  • [20170705]lsnrctl status LISTENER_SCAN1
  • [3300万人的聊天室] 作为产品的上游公司该如何?