HDOJ 2401筐金币程序编写

3G技术应用

1人已加入

描述

题目的意思:
有N个篮子,编号1—N,篮子中有很多金币,每个重w.但是有一个编号的篮子中,每个金币重w-d.女巫从第一个篮子中拿1个金币,第二个篮子中拿2个……第N-1中拿N-1个,第N中不拿,给出这些金币的总重量s,问:是第几个篮子中的金币重量较轻?
题解:
先求1—N篮子金币应有的总重量yuan=w*(1+n-1)(n-1)/2,然后求差值cha=原-s ,再除以金币重量差值d则得出轻金币的个数。若为0,则必在编号N的篮子中;若不为0,得到较轻金币的个数,即为所求编号。

#include

#include

#define LL long long

int main()

{

int w,d,n;

int i;

LL m,sum,ans;

while(scanf(“%d%d%d%lld”,&n,&w,&d,&m)!=EOF)

{

sum=0;

for(i=1;i《n;i++)

sum+=i*w;

ans=sum-m;

if(ans==0)

printf(“%d\n”,n);

else

printf(“%lld\n”,ans/d);

}

return 0;

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分