循环-07. 爬动的蠕虫(15)

 1 #include<iostream>
 2 using namespace std;
 3 int u,d;
 4 int sum(int t){
 5     if(t%2==0)
 6         return (u-d)*t/2;
 7     else
 8         return u*(t/2+1)-d*t/2;
 9 }
10 int main(){
11     int t,n;
12     cin>>n>>u>>d;
13     for(t=1;sum(t)<n;)
14         t++;
15     cout<<t<<endl;
16     return 0;
17 }

循环-07. 爬动的蠕虫(15),布布扣,bubuko.com

时间: 2024-10-07 00:45:49

循环-07. 爬动的蠕虫(15)的相关文章

PAT:循环-07. 爬动的蠕虫(15) 错两个

#include<stdio.h> #include<math.h> int main() { int a,b,c,tmp=0,time=0,tag=0; scanf("%d%d%d",&a,&b,&c); while(tmp<=a) { if(tag==0) { ++time; tmp+=b; tag=1; } else { ++time; tmp-=c; tag=0; } } printf("%d\n",ti

循环-07. 爬动的蠕虫

循环-07. 爬动的蠕虫(15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 一条蠕虫长1寸,在一口深为N寸的井的底部.已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬.在休息的过程中,蠕虫又下滑了D寸.就这样,上爬和下滑重复进行.请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了.初始时,蠕虫是趴在井底的(即高度为0). 输入格

7-17 爬动的蠕虫(15 分)

一条蠕虫长1寸,在一口深为N寸的井的底部.已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬.在休息的过程中,蠕虫又下滑了D寸.就这样,上爬和下滑重复进行.请问,蠕虫需要多长时间才能爬出井? 这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了.初始时,蠕虫是趴在井底的(即高度为0). 输入格式: 输入在一行中顺序给出3个正整数N.U.D,其中D<U,N不超过100. 输出格式: 在一行中输出蠕虫爬出井的时间,以分钟为单位. 输入样

PTA基础编程题目集——爬动的蠕虫

原题链接https://pintia.cn/problem-sets/14/problems/797 这题一开始考虑时犯了一些错误,一开始是这样考虑的,按题目的意思,每2分钟蠕虫爬行的距离是(U-D)寸.那么平均每分钟爬行的距离是(U-D+1)/2寸.然后对照样例数据N=12,U=3,D=1算出需要8分钟爬完,当然这个结果是错的.调整一下思路,假设时间为t,爬行距离为s.当t=0时,s=0:当t=1时,s=U:当t=2时,s=U-D:当t=3时,s=U-D+U:当t=4时,S=U-D+U-D:.

YT14-先来练练手之爬动的蠕虫

Problem Description An inch worm is at the bottom of a well n inches deep. It has enough energy to climb u inches every minute, but then has to rest a minute before climbing again. During the rest, it slips down d inches. The process of climbing and

循环-01. 求整数段和(15)

给定两个整数A和B,输出从A到B的所有整数以及这些数的和. 输入格式: 输入在一行中给出2个整数A和B,其中-100<=A<=B<=100,其间以空格分隔. 输出格式: 首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐.最后在一行中输出全部数字的和. 输入样例: import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner ci

循环-16. 猴子吃桃问题(15)

1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int n,sum=1; 5 cin>>n; 6 while(--n) 7 sum=(sum+1)*2; 8 cout<<sum<<endl; 9 return 0; 10 } 循环-16. 猴子吃桃问题(15)

循环-14. 最大公约数和最小公倍数(15)

1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a,b,m,n,x; 5 cin>>a>>b; 6 m=a>b?a:b; 7 n=a+b-m; 8 x=n; 9 while(x!=0){ 10 x=m%n; 11 m=n; 12 n=x; 13 } 14 cout<<m<<" "<<a*b/m<<endl; 15 re

循环-12. 打印九九口诀表(15)

以下是一个完整的下三角九九口诀表: 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56