| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 521 人关注过本帖
标题:简单的ACM问题求助
只看楼主 加入收藏
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
 问题点数:0 回复次数:7 
简单的ACM问题求助

Time Limit:1000MS Memory Limit:65536K
Total Submit:96 Accepted:20

Description

挂盐水的时候,如果滴起来有规律,先是滴一滴,停一下;然后滴二滴,停一下;再滴三滴,停一下...,现在有一个问题:这瓶盐水一共有VUL毫升,每一滴是D毫升,每一滴的速度是一秒(假设最后一滴不到D毫升,则花费的时间也算一秒),停一下的时间也是一秒这瓶水什么时候能挂完呢?


Input

输入数据包含多个测试实例,每个实例占一行,由VUL和D组成,其中 0 < D < VUL < 5000。


Output

对于每组测试数据,请输出挂完盐水需要的时间,每个实例的输出占一行。

Sample Input


10 1

Sample Output


13

题目 连接 :http://acm.hdu.edu.cn/showproblem.php?pid=1408
我的代码 ,不知道哪里错了。大家帮忙看下
#include <stdio.h>
main()
{
int i ,v , v1,d ,t;
while(scanf("%d%d",&v,&d)!=EOF)
{
v1=0;t=0;
for(i=1; ;i++)
{
v1+=d*i;
t+=i;
if(v1>=v)
{
t=t-(v1-v)/d;
break;
}
}
printf("%d\n",t+i-1);
}
}

搜索更多相关主题的帖子: ACM 
2007-08-13 10:39
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 
大家帮帮忙拉!~
2007-08-13 11:52
nwpu063417
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:428
专家分:28
注 册:2007-5-11
收藏
得分:0 
“输入数据包含多个测试实例”


那输入终止的条件是什么呀??

2007-08-13 11:58
飞天佳星
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-8-9
收藏
得分:0 
如果v小于d就应该是1.
个人觉得应该从这个方面考虑:
time=v+停的时间,
这样只需考虑停的时间了。

2007-08-13 12:18
liulanghan
Rank: 1
等 级:禁止访问
帖 子:104
专家分:0
注 册:2007-5-5
收藏
得分:0 
题目中说了,V &gt; D 的啊!~
2007-08-13 12:35
飞天佳星
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-8-9
收藏
得分:0 

噢,看错了。


2007-08-13 12:41
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
#include <stdio.h>
#include <conio.h>
int main(void)
{
int vul,d,vul_Mid;
int gapTimes;
int dropV;
scanf("%d,%d",&vul,&d);
gapTimes=0;
dropV=1;
vul_Mid=vul;
while(vul_Mid>0)
{
vul_Mid-=dropV++;
gapTimes++;
}
printf("%d\n",gapTimes+vul-1);
getch();
return 0;
}


框架自己写一下

偶学编程,也许本身就是一个错。。。
2007-08-13 12:55
huang51360
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-8-13
收藏
得分:0 
设总共n次滴完,得出公式 若d整除v,,则 t=(n-1)+v/d,否则 t=(n-1)+v/d+1;


#include<stdio.h>
void main()
{
int n=1,v1=0,v,d,t;
printf("输入v和d的值:\n");
scanf("%d %d",&v,&d);
while(v1<v)
{
v1+=n*d;
n++;
}
if(v%d==0) t=(n-2)+v/d;//这里变成了n-2是因为上面循环结束后,n比实际次数多一
else t=(n-2)+v/d+1;
printf("总共需要%d秒。\n",t);
}

[此贴子已经被作者于2007-8-14 9:00:58编辑过]


2007-08-13 13:15
快速回复:简单的ACM问题求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012382 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved