2
from fractions import Fraction

counter = 0;
a = int(raw_input())
b = int(raw_input())

if 1 <= a <= 10 ** 8:
    if a <= b <= 10 ** 8:
        for i in range(a, b+1):
            if float(i**Fraction(1,3)).is_integer() == True:
                counter += 1
                print(i)

print(str(counter))
print (str(float(64**Fraction(1,3)).is_integer()))

このコードは false を返すため、if ステートメントはまったく実行されません。さらに、64 の立方根は 4 なので、結果は整数になるはずです。ただし、1 から 100 までの範囲では、1、8、および 27 はこの場合 true を返します。64 の立方根が true を返さない理由について、何か助けをいただければ幸いです。

4

1 に答える 1