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",time);
  return 0;
}
时间: 2024-10-18 04:23:37

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

循环-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<

循环-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

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

#include<stdio.h> int main() { int x; scanf("%d",&x); for(int i=1 ; i<=x ; ++i) { for(int j=1 ; j<=i ; ++j) { printf("%d*%d=%-4d",j,i,i*j); } printf("\n"); } return 0; }