题目描述
话说最近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
提示
来源
示例程序
不知道该怎么形容这道题了 演算了好长时间愣是没做出来 后来结束了问了soaring大神 才发现自己已经无限接近正确答案,就是少了写下去的勇气。
这道题其实就是这么点 你用距离X除以n得到的是你要走的最大步数,最后只要你的X在最小值(n)乘以最大步数和最大值(m)乘以最大步数之间就肯定能吃着~画画图,想想就能理解了。注意一点数据很大 ,int满足不了,所以用long long;
#include <stdio.h>
#include <string.h>
int main()
{
int T;
long long x,n,m;
scanf("%d",&T);
while (T--)
{
scanf("%lld %lld %lld",&x,&n,&m);
int s=x/n;
if(x<=s*m)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}