整数とか素数とか
素数
素数判定
[ ]:
素数生成
[ ]:
約数
[6]:
import sympy
sympy.divisors(7776)
[6]:
[1,
2,
3,
4,
6,
8,
9,
12,
16,
18,
24,
27,
32,
36,
48,
54,
72,
81,
96,
108,
144,
162,
216,
243,
288,
324,
432,
486,
648,
864,
972,
1296,
1944,
2592,
3888,
7776]
素因数分解
[3]:
import sympy
sympy.factorint(7776)
[3]:
{2: 5, 3: 5}
最大公約数
[7]:
## 二つの整数、aとbについて最大公約数を出す。
def calc_gcd(a, b):
if a < b:
a, b = b, a
if b == 0:
return a
return calc_gcd(b, a % b)
偶数奇数並べ替え
[1]:
# [1,2,3,4,2,4,5,1,6,9,8,]
from typing import List
# 新しい配列を作るパターン
def order_even_first_odd_last_v1(numbers: List[int]) -> None:
even_list, odd_list = [], []
for num in numbers:
if num % 2 == 0:
even_list.append(num)
else:
odd_list.append(num)
numbers[:] = even_list + odd_list
# 新しい配列を作らないパターン
def order_even_first_odd_last_v2(numbers: List[int]) -> None:
# len(numbers)-1でリストの一番最後
i, j = 0, len(numbers) - 1
while i < j:
if numbers[i] % 2 == 0:
i += 1
else:
numbers[i], numbers[j] = numbers[j], numbers[i]
if __name__ == '__main__':
l = [0, 1, 3, 4, 2, 4, 1, 6, 8, 9, 8]
order_even_first_odd_last_v1(l)