首页 > 编程语言 >c++ 金币

c++ 金币

时间:2022-12-06 23:23:02浏览次数:53  
标签:ii pas int 天数 c++ 金币 ans

国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天)里,每天收到两枚金币;之后三天(第四、五、六天)里,每天收到三枚金币;之后四天(第七、八、九、十天)里,每天收到四枚金币……这种工资发放模式会一直这样延续下去。当连续 n天每天收到 n 枚金币后,骑士会在之后的连续 n+1 天里,每天收到 n+1 枚金币(n 为正整数)。
  请编程确定从第一天开始的给定天数内,骑士一共获得了多少金币。

【输入格式】

  输入包含至少一行,但不多于 1000 行。
  除最后一行外,输入的每行是一组输入数据,包含一个正整数 n,表示天数。
  输入的最后一行为 0,表示输入结束。

【输出格式】

  对每个数据输出一行一个整数,表示该数据对应总金币数。

Samples

输入数据 1

10
6
7
11
15
16
100
10000
1000
21
22
0
Copy

输出数据 1

30
14
18
35
55
61
945
942820
29820
91
98
Copy

【数据规模】

  对于 60% 的数据满足:n≤10^3 ;
  对于 80% 的数据满足:n≤10^6 ;
  对于 100% 的数据满足:n≤10^12 。

个人还是接受不了太长的题目,但是经过分析后还是较为简单的。就是先定义一个储存答案的未知数ans,然后就是第1天每天给一个金币,共1^1个金币,接下来两天每天两个,共2^2个…………。不难发现,每次增加i^2个金币,天数加i,直到天数溢出为止,最后在把多的减掉就可以。

代码如下

#include<bits/stdc++.h>
using namespace std;
int ans,day; //用于储存答案、天数
int pas;//已经过去的天数
int ii;
void chs()//初始化
{
ans=0;
pas=0;
return;
}
int main()
{
while(cin>>day)
{
if(day==0)
break; //结束
chs();
for(int i=1; pas+i<=day; i++)
{
ans+=i*i;
pas+=i;
ii=i;
}
ii++;
ans+=ii*ii;
ans=ans-(pas+ii-day)*ii;
cout<<ans<<endl;
}
return 0;
}

最后只得了80分,数据规模一大就超时了。

ps:本人第一次写博客,写代码也是菜鸡,讲解写的也很模糊,已经尽力了     ε=(´ο`*)))唉

标签:ii,pas,int,天数,c++,金币,ans
From: https://www.cnblogs.com/Zelda-anjisuan/p/16961739.html

相关文章

  • C++
    通讯录管理系统1、系统需求通讯录是一个可以记录亲人、好友信息的工具。本教程主要利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中......
  • C++学习---STL中nullptr_t的实现原理
    引言nullptr_t/nullptr是对C语言中NULL的替代,C语言中NULL通常定义为0或(void*)0,无法很好地处理与C++相关的环境,比如类指针的转换、赋值、比较等,容易出现异常。我们来分析一......
  • C++变量的声明与定义
      声明,是用以告诉编译器类型及其细节,本身并不涉及内存分配;  定义,即内存分配,编译器将在相对内存地址上为其对象定址。  定义的同时也作了声明,当定义的时候我们肯......
  • C++的region代码块折叠
    之前用C#,有比较方便的#region功能:#region代码块名//...代码块#endregion 原来C++也有类似功能,示例如下:#pragmaregion代码块名//...#pragmaendregion......
  • [c++11新特性]08-defer的实现
    defer的实现​​参考​​​defer的实现​​​defer的实现​​在go语言中有一个关键字defer可以用来指示当程序跳出某一作用域的时候执行指定的操作。假定C++中也定义了d......
  • [c++11新特性]09-chrono的使用与封装
    时间类的简介​时间类的简介​​​duration简介​​​​借助chrono实现的定时器​​​​time_point​​​时间类的封装​​​时间格式化​​​​日期变化​​duration简......
  • [c++11新特性]02-模板优化
    模板优化​模板优化​​​模板别名​​​​默认模板参数​​​​外部模板​​模板别名在了解类型别名模板之前,需要理解『模板』和『类型』之间的不同。仔细体会这句话:模板是......
  • [c++11新特性]07-可变参模板
    可变参模板​​可变参数模板​​​可变参模板​​​简介​​​​递归模板函数​​简介可变参模板是c++11引入的特别重要的一个特性,和c语言中的可变参一样,也是使用...来......
  • C++ 之 cout 格式化输出
    写代码时每次用到格式化输出就各种搜来搜去,今天好好整理一下,方便以后查阅和使用。参考链接:C++之cout使用攻略C++格式化输出首先,加上头文件#include<iomanip>,......
  • UEC++ 会话暴露给蓝图 ,无法识别会话相关类型
    在实在联网功能时,我们常常需要获取到会话类型,当我们需要在蓝图中使用这些类型的时候。如果我们直接在头文件中直接使用会话相关类型在编译时就会报错Unrecognizedtype......