乌龟爬行问题

玲珑龟

 

Time Limit: 1000MS Memory limit: 65536K

题目描述

话说最近Soaring在宿舍养了一只玲珑的龟,名曰Leemenglin,突然有一天这只Leemenglin龟饿了,想要吃东西,在它前面有食物,食物与它的直线距离是x厘米,而且这只玲珑龟每一步最少是n厘米,最多是m厘米(意思是每步步长在n与m之间且为整数即可)。这只龟很聪明,知道两点之间直线最短,于是它毅然决定走直线去找食物。然而这只玲珑龟竟然不会后退。。。于是它必须要正好爬到有食物的地方,不能超出。假如它可以走无数步的话,那么它能否正好吃到食物呢?能吃到的话输出Yes,不能的话输出No。

输入

输入一个t,表示测试数据组数,然后后面t行,每一行代表一组测试数据,包括三个整数x, n, m;(1<=n<=m<=10^9,1<=x<=10^9);

输出

每组测试数据输出Yes或No。

示例输入

3
5 2 3
6 4 5
17 3 5

示例输出

Yes
No
Yes

解题算法分析:
x为距离, n为最小步子, m为最大步子

令a = x/n;
若 x 在 区间 【a*n, a*m】的范围内, 则就能到达
否则到达不了哈!!!





#include <stdio.h>
#include <string.h>

int main()
{
 int t;
 int dd;
 int x, n, m;
 scanf("%d", &t);
 while(t--)
 {
  scanf("%d %d %d", &x, &n, &m);
  dd = x/n;
  if( x>=n*dd && x<=m*dd )
  {
   printf("Yes ");
  }
  else
  {
   printf("No ");
  }
 }
 return 0;
}


原文地址:https://www.cnblogs.com/yspworld/p/3780595.html