UVa 11042 Complex, difficult and complicated:一个常数很小的O(1)解决方法

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1983

与复数的幂次有关的题,首先从几何角度考虑,一个复数能否绕原点逆时针旋转k*arctan(b/a)次后变为实数?(复数幂的几何性质)

(这里先特判一下,当a=0时,很明显,n=2)

要做到这一点,arctan(b/a)必须为有理数,而这篇文章表明,这一点当且仅当b/a∈{-1,0,1}时才成立。

所以,只要判断b/a是否∈{-1,0,1}就行了,其他的均为TOO COMPLICATED。

完整代码:

01./*0.013s*/
02.
03.#include<cstdio>
04.#include<cstdlib>
05.
06.int main()
07.{
08.    int t, a, b;
09.    scanf("%d", &t);
10.    while (t--)
11.    {
12.        scanf("%d%d", &a, &b);
13.        if (b == 0) puts("1");
14.        else if (a == 0) puts("2");
15.        else if (abs(a) == abs(b)) puts("4");
16.        else puts("TOO COMPLICATED");
17.    }
18.    return 0;
19.}

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/sjjg/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索complex
, include
, 复数
, else
, puts
实数
complex and real、iso 11042、11042 64 1、difficult、difficult名词,以便于您获取更多的相关知识。

时间: 2024-10-05 09:23:49

UVa 11042 Complex, difficult and complicated:一个常数很小的O(1)解决方法的相关文章

多次注册事件会导致一个事件被触发多次的解决方法_javascript技巧

一个JavaScript逻辑,会自动绑定函数到按钮的click事件,但是这段代码会反复注册事件.这样依赖onNext函数会在点击一次按钮的时候多次触发. 这是JQuery内部没有判断是否绑定多次,怀疑其内部用了数组保存事件函数,而且没有去重. 下面的代码预防了这个问题.解决方案很简单. 复制代码 代码如下: if (!this.hasPageBarEvents) { $(".pNext").on("click", this, this.onNext); this.h

一个php的中文乱码问题及解决方法

<html><head><title></title></head><body><?php$mysql_server_name='localhost';$mysql_username='root';$mysql_password='000000';$mysql_database='lib';$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password

c++ 一个二进制串转化为整数的解决方法_C 语言

代码如下: 复制代码 代码如下: <SPAN style="FONT-SIZE: 18px"> char* p = "1010110001100"; int n = 0; for(int i=0;i<strlen(p); i++) {  n = n * 2 + (p[i] - '0'); } printf("%d\n", n);</SPAN>

标识符-一个关于子查询的问题求解决!

问题描述 一个关于子查询的问题求解决! SELECT CASE ????????? WHEN T1.A = T2.A THEN ?????????? (SELECT T3.A FROM (SELECT 1 AS A FROM DUAL) T3 WHERE T2.A = T3.A) ????????? ELSE ?????????? 0 ??????? END AS TEST ?? FROM (SELECT 1 AS A FROM DUAL) T1, (SELECT 1 AS A FROM DUA

[Tex学习笔记]小于等于一个常数乘以...

偏微分的论文中常用:   小于等于一个常数乘以...   这个要怎么输入呢. 只要输入\lesssim 就能得到 $\lesssim$...哈哈. 以前知道, 但是忘记了. 现在又要用.

Yii框架参数化查询中IN查询只能查询一个的解决方法

本文实例讲述了Yii框架参数化查询中IN查询只能查询一个的解决方法.分享给大家供大家参考,具体如下: 在yii框架中使用参数化进行IN查询时,结果不如所愿 $sql =<<<SQL SELECT id FROM tb WHERE id IN(:ids) SQL; $db = GeneralService::getSlaveDB(); $result = $db->createCommand($sql)->query([':ids' => '1013,1015,1017'

如何做一个简单的小网站

如何做一个简单的小网站,请注意:拥有域名不代表你就有了网站.做之前要想一下,网站用来干什么?静态的还是动态的,自己至少要懂一点代码知识,不懂程序的话,也要对html多少了解一些. 不然,我建议你还是到各大网站申请个Blog写日志算了:) 如果你: 1.做个简历式的小网站 上面就放些文章,图片或者资料,且文件不多,那么选择静态空间就搞定.你可以自己或者找人来做个网页的模版,自己套内容就 可以. 整体下来只要99元,包括域名和空间.在http://www.nicenic.com/design/?s=

html javascript: 用JavaScript判断一个html元素是否存在的几种方法

用javascript判断一个html元素是否存在的五种方法:   1. 判断表单元素是否存在 if("periodPerMonth" in document.theForm){ return true; }else{ return false; } 2. 判断页面元素是否存在 if(document.getElementById("XXX")){ //存在 } 3. 判断表单元素是否存在 if(document.theForm.periodPerMonth){ /

过高分辨率导致电脑黑屏的一个解决方法

我用电脑的时候,一直习惯用1024*768这个分辨率,用着舒服,倒也没有出过什么问题. 姐姐家的孩子要学习电脑,这几天我晚上一直在家里教他一些基本的操作.昨晚出了个不大不小的问题,原因是我告诉他:你用右键点桌面"我的电脑",在对话框的"设置"那一页里用鼠标拖动上面的滚动条,可以调整显示器的分辨率,然后我就向后拖动了一下,点了"应用",结果电脑突然黑屏了,重启后依然是黑屏. 打电话请教认识的某朋友,告诉了我原因:你的显示器不行,太老,过高的分辨率支