c语言,充值问题

arthemis911222 2014-12-30 12:45:00
问题描述

zpt最近喜欢玩游戏。
有些游戏是要充值点卡的,所以他准备疯狂地购买。
但是,他去充值点买的时候,发现老板xunjiestra是一个怪人,他会将一张面额为N的点卡在销售的时候随机确定价格,价格在(1~N)之间。
更奇怪的是,xujiestra不喜欢找零钱,最奇怪的却是zpt很懒,不想再回去一次拿零钱。
所以,现在zpt请教你们一个问题,怎么样拿最少张数的钱(我们假设钱的面额可以为任意int范围内正整数),确保可以在老板报出价格时拿出相应的钱出来买下东西。
也就是说你带M张的钱,可以拼凑出1~N范围内的所有面额。

输入

输入有多组,直到文件结束。
每一组有一个int范围内的整数N。

输出

输出zpt需要携带满足所有情况的最少张数M。

输入样列

1
2
3
4

输出样例

1
2
2
3

提示

数据1:面额为1元,他只需要带一张1元的就可以了。
数据2:面额为2元,他可以选择带一张1元的和一张2元的,当xujiestra说1元的时候给1元,2元给2元。 也可以带面值分别为1,1两张。
数据3:面额为3元,他可以选择带面值为1,2的钱,当面额分别为1,2时给他相应的钱,是3元的时候给3元(1元+2元 两张)。
数据4:面额为4元,他可以选择带面值为1,1,2 。这三张可以拼凑出1~4的所有面值。同时也带1,1,3 也可符合条件。(最少是三张)

我的代码:
#include <stdio.h>
int f[11000];
int main()
{
int i,j,t,n;
while(scanf("%d",&n)!=EOF)
{
t=0;
for(i=0;i<n;i++,t=t+i)
{
for(j=1;j<=i+1;j++)
f[t+j]=i+1;
}
printf("%d\n",f[n]);
}
return 0;
}


明明到f[149]时才是14,为什么150之后都没有输出?
...全文
588 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zlzlbksw 2018-11-06
  • 打赏
  • 举报
回复
#include <stdio.h> int main() { int n,flag; while(scanf("%d",&n)!=EOF) { flag=0; while(n!=0){ n/=2; flag++; } printf("%d\n",flag); } return 0; }
arthemis911222 2015-01-02
  • 打赏
  • 举报
回复
#include <stdio.h>
int f[1100000];
int main()
{
	int i,j,t,n;
	while(scanf("%d",&n)!=EOF)
	{
		t=0;
		for(i=0;i<n;i++,t=t+i)
		{
			for(j=1;j<=i+1;j++)
			{
				if((t+j)>1000000)
					break;
				f[t+j]=i+1;
			}
		}
		printf("%d\n",f[n]);
	}
	return 0;
}
我改成这样,算到60000就算不小去,但是交上去还是不对
arthemis911222 2015-01-02
  • 打赏
  • 举报
回复
还是卡在149和150处……
  • 打赏
  • 举报
回复

#include <stdio.h>
int f[11000];
int main()
{
	int i,j,t,n;
	while(scanf("%d",&n)!=EOF)
	{
		t=0;
		for(i=0;i<n;i++,t=t+i)
		{
			for(j=1;j<=i+1;j++)
			{
				printf("t = [%d]\n",t);
				printf("j = [%d]\n",j);
				f[t+j]=i+1;
			}
		}
		printf("f[%d]=[%d]\n",n,f[n]);
	}
	return 0;
}
运行这个看看,你数组越界了
arthemis911222 2014-12-30
  • 打赏
  • 举报
回复
输入149输出是14,但是输入150就没输出了
jacksonfan 2014-12-30
  • 打赏
  • 举报
回复
明明到f[149]时才是14,为什么150之后都没有输出? 没看懂什么意思

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧