专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

杭电1408,求大哥大姐帮帮忙找找小弟我的异常,代码就不用贴了,就找小弟我的错。严禁酱油党

发布时间:2011-06-28 16:18:46 文章来源:www.iduyao.cn 采编人员:星星草
杭电1408,求大哥大姐帮帮忙找找我的错误,代码就不用贴了,就找我的错。严禁酱油党。
#include<stdio.h>
int main()
{
double v,d;
int i,time;
while(scanf("%lf%lf",&v,&d)==2)
{
time=0;
for(i=1;v>i*d;i++)
{
time=time+(i+1);
v=v-i*d;
}
if(v<=i*d)
{
while(v>0)
{
v=v-d;
time=time+1;
}
}

printf("%d\n",time);
}
return 0;
}

------解决方案--------------------
C/C++ code

#include<iostream>
#include<cmath>
using namespace std;
int main(){
    double v,d;
    while(cin>>v>>d){
        int b=ceil(v/d);
        cout<<ceil(((sqrt(1.+8*b)-1)/2+b-1))<<endl;
    }
}

------解决方案--------------------
首先你要用好代码标签,然后你程序要实现什么功能,没有目的,一些纯数字逻辑的程序很少有人能仔细研究你的程序,最后不是程序问题的话这种像高数一样的程序错误可能需要你自己找
------解决方案--------------------
如下修改可以AC,但说不出确切理由。
#include<stdio.h>
int main()
{
 double v,d;
 int i,time;
 while(scanf("%lf%lf",&v,&d)==2)
 {
 time=0;
 for(i=1;v>i*d;i++)
 {
 time=time+(i+1);
 v=v-i*d;
 }
 if(v<=i*d)
 {
/*
 while(v>0)
 {
 v=v-d;
 time=time+1;
 }
 */
int k = (int)(v/d);
time += k;
if ((v-d*k) > 1e-8) time++;
 }

 printf("%d\n",time);
 }
 return 0;
}
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: