HDU 5170 GTY's math problem (bsst code #29 1001)

GTY‘s math problem

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 146    Accepted Submission(s): 80

Problem Description

GTY is a GodBull who will get an Au in NOI . To have more time to learn algorithm knowledge, he never does his math homework. His math teacher is very unhappy for that, but she can‘t do anything because GTY can always get a good mark
in math exams. One day, the math teacher asked GTY to answer a question. There are four numbers on the blackboard -
a,b,c,d.
The math teacher wants GTY to compare ab
with cd.
Because GTY never does his homework, he can‘t figure out this problem! If GTY can‘t answer this question correctly, he will have to do his homework. So help him!

Input

Multi test cases (about 5000). Every case contains four integers a,b,c,d(1≤a,b,c,d≤1000)separated
by spaces. Please process to the end of file.

Output

For each case , if ab>cd
, print ‘>‘. if ab<cd
, print ‘<‘. if ab=cd
, print ‘=‘.

Sample Input

2 1 1 2
2 4 4 2
10 10 9 11

Sample Output

>
=
<

Source

BestCoder Round #29

这个数据一看就知道不能用普通的方法。

1000的1000次方。

C语言无法表达的。

可以想到用对数。

比较log(a^b) 和log(c^d)的大小

而log(a^b)=b*log(a);

log(c^d)=d*log(c);

OK

可以写代码了。

控制到12点后十二位就可以认为它们相等了

#include <stdio.h>
#include <math.h>
#define eps 1e-12  //10的负十二次方
int main()
{
	double a,b,c,d;
	while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF)
	{
		double s,s1;
		s=b*log(a);
		s1=d*log(c);
		if(a==1 &&c==1)  //等于肯定都是相等的
		{
			printf("=\n");
			continue;
		}
		if(fabs(s-s1)<eps)     //对数计算后,相差只要不超过10的负十二次方,就可以认为它们相等。
			printf("=\n");
		else if(s>s1)
			printf(">\n");
		else  if(s<s1)
			printf("<\n");
	}
	return 0;
}

HDU 5170 GTY's math problem (bsst code #29 1001)

时间: 2024-10-01 07:19:41

HDU 5170 GTY's math problem (bsst code #29 1001)的相关文章

hdu 5170 GTY&#39;s math problem(水,,数学,,)

题意: 给a,b,c,d. 比较a^b和c^d的大小 思路: 比较log(a^b)和log(c^d)的大小 代码: int a,b,c,d; int main(){ while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF){ double x1 = b*log((double)a); double x2 = d*log((double)c); if(fabs(x1-x2)<eps){ puts("=")

HDU 5170 GTY&#39;s math problem 精度判断问题

传送门 GTY's math problem Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 568    Accepted Submission(s): 263 Problem Description GTY is a GodBull who will get an Au in NOI . To have more time to l

BestCoder Round #29 1001 GTY&#39;s math problem

GTY's math problem Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 0    Accepted Submission(s): 0 Problem Description GTY is a GodBull who will get an Au in NOI . To have more time to learn alg

hdu 1757 A Simple Math Problem (乘法矩阵)

A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2441    Accepted Submission(s): 1415 Problem Description Lele now is thinking about a simple function f(x).If x < 10 f(x) =

HDU 5615 Jam&#39;s math problem

Jam's math problem Problem Description Jam has a math problem. He just learned factorization.He is trying to factorize ax^2+bx+c into the form of pqx^2+(qk+mp)x+km=(px+k)(qx+m).He could only solve the problem in which p,q,m,k are positive numbers.Ple

hdu 5615 Jam&#39;s math problem(十字相乘判定)

d. Jam有道数学题想向你请教一下,他刚刚学会因式分解比如说,x^2+6x+5=(x+1)(x+5) 就好像形如 ax^2+bx+c => pqx^2+(qk+mp)x+km=(px+k)(qx+m) 但是他很蠢,他只会做p,q,m,kp,q,m,k为正整数的题目 请你帮助他,问可不可以分解 题意就是问一个一元二次方程能不能进行十字相乘的分解? s. 官方题解:第一道题比较简单,可以说是简单的模拟题,我们考虑到a,b,c都是10^9??的,所以我们决定要把时间复杂度降下来, 对于每一个数,因为

矩阵十题【八】 HDU 1715 A Simple Math Problem

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 题目大意: If x < 10   ,则  f(x) = x. If x >= 10 ,则  f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + a9 * f(x-10); 给出k,m和a0~a9,求f(k)%m,  k<2*10^9 , m < 10^5 这是一个递推式,故可以用矩阵乘法来求 和上题类似,具体思路过程见上题

HDU - 1757 A Simple Math Problem (构造矩阵)

Description Lele now is thinking about a simple function f(x). If x < 10 f(x) = x. If x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + a9 * f(x-10); And ai(0<=i<=9) can only be 0 or 1 . Now, I will give a0 ~ a9 and two positive in

hdu 5171 GTY&#39;s birthday gift (BestCoder Round #29)

GTY's birthday gift                                                                       Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 209    Accepted Submission(s): 71 Problem Description F