博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NUC1313 皇帝的金币
阅读量:6914 次
发布时间:2019-06-27

本文共 1414 字,大约阅读时间需要 4 分钟。

时间限制: 1000ms 内存限制: 65536KB

问题描述

国王给他忠诚的骑士金币。在他服役的第一天,骑士得到一枚金币。在接下来的两天中(服役的第二天和第三天),骑士得到了两枚金币。在接下来的三天中(服役的第四天,第五天,第六天),骑士得到了三枚金币。在接下来的四天中(服役的第七天,第八天,第九天和第十天),骑士得到了四枚金币。这种模式的支付方式是不确定的:在得到了N枚金币后,这个骑士会在接下来的N+1天中每天得到N+1枚金币,N是任意的正整数。

你编的程序会决定这任意一天付给骑士的金币的数目(从第一天开始)

输入描述
输入最少包含一行,但是不要多于21行。输入的每一行(除去最后一行)包含一个可以进行一次程序运行的数字,是一个确切的整数(在1..10000的范围内)代表了天数。输入的最后是以含0的一行为标志的。
输出描述
对应于每一次程序运行对应一行输出。这一行包含对应于输入行的天数,跟着一个空格和在这些天中支付给骑士金币的总数,从第一天开始。
样例输入
106711151610010000100021220
样例输出
10 306 147 1811 3515 5516 61100 94510000 9428201000 2982021 9122 98
来源
Rocky Mountain 2004

问题分析:

这个题与《》完全相同,代码直接拿过来就可以了。

程序说明:

参见参考链接。

参考链接:

题记:

程序写多了,似曾相识的也就多了。

AC的C++程序如下:

/* UVALive3045 POJ2000 ZOJ2345 Gold Coins */            #include 
#define MAXN 10000 int ans[MAXN+1] = {0}; void maketable() { int i, j, k; j = 1; /* Ai, S=1,2,2,3,3,3,4,4,4,4,...... */ k = 1; /* 同值计数变量:j值够j个(用k来计数, k=j时)则j增1 */ for (i=1; i<=MAXN; i++){ ans[i] = j + ans[i - 1]; if (k == j){ j++; k = 0; } k++; } } int main(void) { int n; maketable(); while(scanf("%d", &n) != EOF && n != 0) printf("%d %d\n", n, ans[n]); return 0; }

转载于:https://www.cnblogs.com/tigerisland/p/7563796.html

你可能感兴趣的文章
235D Graph Game
查看>>
csu 1984: LXX的能力值
查看>>
汉编随想(一)
查看>>
开源的Android开发框架-------PowerFramework使用心得(五)网络请求HTTPRequest
查看>>
[转载]kmeans
查看>>
一个不错的架构图:基于SpringCloud的微服务项目
查看>>
成为顶尖自由职业者必备的7个软技能之一:沟通(转)
查看>>
获取合并单元格中值的一个方法POI
查看>>
ORACLE Install (10g r2) FOR Red Hat Enterprise Linux Server release 5.5 (64 bit) (转)
查看>>
入手Invicta 8926 OB潜水自动机械腕表
查看>>
Android UI适配总结(一)寻找最佳匹配资源
查看>>
我是小白之<%%>用法
查看>>
F# 入门(十一):链表与数组
查看>>
树套树
查看>>
[IOS笔记] - 关于线程[3]
查看>>
java socket通信-传输文件图片--传输图片
查看>>
Windows 10 远程连接出现函数错误 【这可能由于CredSSP加密Oracle修正】
查看>>
MySQL read_only选项的作用
查看>>
职业方向
查看>>
3DMAX 卸载工具,完美彻底卸载清除干净3dmax各种残留注册表和文件
查看>>