题解 | #[NOIP2015]金币#

[NOIP2015]金币

https://www.nowcoder.com/practice/8f71f5670e6a45118d24d13868a2da9e

/*国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第
四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币..;这种工资发放模式会一直这样延续下
去:当连续N天每天收到N枚金币后,骑士会在之后的连续N + 1天里,每天收到N + 1枚金币。
请计算在前K天里,骑士一共获得了多少金币。*/
#include<stdio.h>
int main()
{
	int k = 0;//表示发金币的天数
	while (scanf("%d", &k) != EOF)
	{
		int total = 0;//收到金币的总数

		int cnt = 0;//计数器  //统计发了多少天 金币
		for (int i = 1; i < 10000; i++)//外层大循环 控制发放金币数
		{
			for (int j = 0; j < i; j++, cnt++)//里层小循环 控制发放特定金币数的天数
				                       //即 一枚金币 发放 1 天, 二 枚金币发放 2 天......
			{
				if (cnt == k)//发金币的天数 达到了 k 天
				{
					goto here;//goto 语句 适用于 结束多层循环
				}
				total = total + i;
				
			}
		}
	here: 
		printf("%d\n", total);
		
	}


	return 0;
}

全部评论

相关推荐

只有一个苍穹外卖外加正在看黑马点评,可以找小厂实习吗,还有我的简历有什么大问题吗
Java抽象小篮子:感觉有点熟悉,问题1是学历,2是没实习经历,3是专业技能写得太少太少了(怎么写可以看我置顶帖),4是仅这一个项目找实习不够看。拷打完毕,简历怎么写可以看我置顶帖子
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务