73571


目的は、平方数の判定を一行でできますか?よろしくお願いします。

print(factorint(9))  
{3: 2}  
print(factorint(81))  
{3: 4}

参考nが平方数かどうか調べる時  
<https://teratail.com/questions/200122>

参考:Wolfram|Alpha  
81は平方数ですか  
<https://ja.wolframalpha.com/input/?i=81%E3%81%AF%E5%B9%B3%E6%96%B9%E6%95%B0%E3%81%A7%E3%81%99%E3%81%8B>

80は平方数ですか  
<https://ja.wolframalpha.com/input/?i=80%E3%81%AF%E5%B9%B3%E6%96%B9%E6%95%B0%E3%81%A7%E3%81%99%E3%81%8B>


CC BY-SA 4.0
2021-01-23T22:22:48.013
73537
2021-01-25T20:27:53.423
2021-01-23T22:37:53.003
17199
17199
question
アルゴリズム sympy
平方数の判定を、sympyの素因数分解factorintでできますか？


正の数 n に対して、n を素因数分解した結果すべての素因数の指数が偶数であることが n
が平方数であることの必要十分条件ですから、素因数分解できているのであれば指数がすべて偶数であるかどうかをチェックすれば良いです。


CC BY-SA 4.0
2021-01-25T20:27:53.423
73571
2021-01-25T20:27:53.423
19110
73537
answer