csu 1246 十二指肠钩虫 简单计算

来源:互联网 发布:mssql数据库是什么 编辑:程序博客网 时间:2024/04/29 13:11

Description

十二指肠钩口线虫是寄生于人体肠道内的一种钩虫,这种钩虫咬附在肠壁上吸取血液,对人体危害很大。其危害之处在于:
1.吸血速度极快。吸进去的血并不消化而直接排出。
2.经常更换咬附部位,造成肠壁上留下许多伤口。
3.分泌抗凝素,使伤口很长时间内不能愈合,不断渗血。
因此,感染了这种钩虫的病人常由于肠道内大量出血而出现继发性贫血症状。
假设钩虫的吸血速度是恒定的,更换咬附部位的频率也是恒定的,每个伤口的渗血速度和渗血时间也是恒定的。如果一个病人感染了一条钩虫,那么从他感染时起到某一指定时间,他的总失血量是多少呢?

Input

多组测试数据。每组一行,5个整数:S、V、T、M、E,之间以空格隔开。
S:钩虫每单位时间内的吸血量。0<S<=1000。
V:钩虫离开后,每个伤口单位时间内的渗血量。0<V<=1000。
T:钩虫每隔多长时间更换一次咬附部位。0<T<=1000。
M:伤口在钩虫离开多长时间后停止渗血。0<M<=1000。
E:自感染钩虫时起到现在过了多长时间。0<E<=1000000。

Output

每组测试数据输出一行。自感染钩虫时起到现在的总失血量。

Sample Input

9 1 3 11 237 2 8 3 5810 3 3 20 161000 100 1000 1000 100001000 100 1 1000 10000

Sample Output

26644626510900000959950000
#include<stdio.h>int main(){    int s,v,t,m,e;    while(scanf("%d%d%d%d%d",&s,&v,&t,&m,&e)!=EOF)    {        int res=e*s;        int n=e/t;///完成吸血的个数        int f=(e-m)/t;///完成渗血的个数        if(f<0)            f=0;        res+=f*m*v;        for(int i=f+1;i<=n;++i)            res+=(e-i*t)*v;        printf("%d\n",res);    }    return 0;}/*9 1 3 11 237 2 8 3 5810 3 3 20 161000 100 1000 1000 100001000 100 1 1000 10000*/


原创粉丝点击