博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVALive3045 POJ2000 ZOJ2345 Gold Coins
阅读量:5949 次
发布时间:2019-06-19

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

Regionals 2004 >> North America - Rocky Mountain

问题链接:。基础练习题,用C语言编写。

题意简述:骑士第1天获得1个金币,之后的2天获得2个金币,之后的3天获得3个金币,......,之后的i天获得i个金币,......。问到第n天总共获得多少个金币。

问题分析:这是一个数列求和问题,用程序解决比用数学解决方便很多。

程序中,用数组ans[]存储金币之和,即ans[i]为到第i天为止金币之和,设置ans[i]的初始值为0(程序员要尽量避免使用缺省值,以免得到意外的计算结果,除非缺省值绝对有保障)。

AC的C语言程序如下:

/* UVALive3045 POJ2000 ZOJ2345 Gold Coins */#include 
#define MAXN 10000int 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/7564455.html

你可能感兴趣的文章
VC++深入详解学习笔记1
查看>>
对OpenBSD中的OSPF和BGP路由协议的探索
查看>>
安装配置discuz
查看>>
CentOS7 64位小型操作系统的安装
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
使用Jmeter进行http接口测试
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
python自动化创建mysql多实例
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
网址收藏
查看>>
SSDB无法连接问题分析
查看>>
Vmware安装报msi错误解决方案(官方翻译中文版)
查看>>
2013 Linux领域年终盘点
查看>>
私有云搭建 OpenStack(centos7.3, centos-release-openstack-liberty) (中篇)
查看>>
Bootstrap3 表单-被支持的控件:输入框
查看>>
Bootstrap3 表单-基本表单
查看>>
【翻译】如何在Ext JS 6中使用Fashion美化应用程序
查看>>
(转载)浅谈javascript中的原型和继承
查看>>
删除存储
查看>>