博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gym-101502H Eyad and Math
阅读量:4157 次
发布时间:2019-05-26

本文共 1093 字,大约阅读时间需要 3 分钟。

Gym-101502H Eyad and Math


题意:判断a^b与c^d的大小,(1 ≤ a,b,c,d ≤ 10^9)。做法:取对数,log(b)a^n = n*log(b)a。
#include 
#include
intmain() { int t, a, b, c, d; double e, f; scanf("%d", &t); while( t-- ) { scanf("%d %d %d %d", &a, &b, &c, &d); e = b * log(a); f = d * log(c); if( e < f ) { printf("<\n"); } else { printf(">\n"); } } return 0;}
/*反省:下面是我开始的代码,因为指数太大,我开始的想法是取余然后比较大小,真的是傻。举个例子:8 mod 5 == 8 * 6 mod 5,很容易就误判了。*/#include 
#define mod 1000000000int // 幂取模pow_mod(int a, int n, int m) { if( n == 0 ) { return 1; } int x = pow_mod(a, n / 2, m); long long ans = (long long)x * x % m; if( n % 2 == 1 ) { ans = ans * a % m; } return (int)ans;}intmain() { int t, a, b, c, d, e, f; scanf("%d", &t); while( t-- ) { scanf("%d %d %d %d", &a, &b, &c, &d); e = pow_mod(a, b, mod); f = pow_mod(c, d, mod); if( e < f ) { printf("<\n"); } else { printf(">\n"); } } return 0;}

转载地址:http://uvkxi.baihongyu.com/

你可能感兴趣的文章
如何用matlab求函数的最值?
查看>>
Git从入门到放弃
查看>>
java8采用stream对集合的常用操作
查看>>
EasySwift/YXJOnePixelLine 极其方便的画出真正的一个像素的线
查看>>
Ubuntu系统上安装Nginx服务器的简单方法
查看>>
Ubuntu Linux系统下apt-get命令详解
查看>>
ubuntu 16.04 下重置 MySQL 5.7 的密码(忘记密码)
查看>>
Ubuntu Navicat for MySQL安装以及破解方案
查看>>
HTTPS那些事 用java实现HTTPS工作原理
查看>>
oracle函数trunc的使用
查看>>
MySQL 存储过程或者函数中传参数实现where id in(1,2,3,...)IN条件拼接
查看>>
java反编译
查看>>
Class.forName( )你搞懂了吗?——转
查看>>
jarFile
查看>>
EJB与JAVA BEAN_J2EE的异步消息机制
查看>>
数学等于号是=那三个横杠是什么符
查看>>
HTTP协议详解
查看>>
java多线程中的join方法详解
查看>>
ECLIPSE远程调试出现如下问题 ECLIPSE中调试代码提示找不到源
查看>>
java abstract修饰符
查看>>