1 solutions
-
0
#!/usr/bin/env python from cyaron import * # 引入CYaRon的库 import math import random as RD _n = ati([0, 1E2, 1E2, 1E4, 1E6, 1E8, 1E9, 1E12, 1E15, 1E18]) # ati函数将数组中的每一个元素转换为整形,方便您可以使用1E4一类的数来表示数据大小 _m = ati([0, 1E1, 1E1, 1E2, 1E3, 1E4, 1E4, 1E6, 1E7, 1E9]) _k = ati([0, 1E1, 1E2, 1E3, 1E3, 1E3, 1E4, 1E4, 1E5, 1E5]) _t = ati([0, 4, 4, 4, 4, 4, 4, 4, 4, 4]) sn = 1 def fun(n): a = [] b = [] i = 2 while i*i<=n: if n%i == 0: a.append(i) b.append(1) n //= i while True: if n%i == 0: b[-1] += 1 n //= i else: break i += 1 if n != 1: a.append(n) b.append(1) #print(a) #print(b) return a, b for i in range(1, 10): for t in range(_t[i]): test_data = IO(file_prefix="test", data_id=sn) n = _n[i] m = _m[i] k = _k[i] k = randint(1, k) #print(k) test_data.input_writeln(k) for j in range(k): p = randint(1, m) q = randint(1, m) #print(p, q) a = p*q b = (p-1) * (q-1) + 1 #print(b) al, bl = fun(b) c = 1 for l in range(len(al)): rd = randint(0, bl[l]) c = c * pow(al[l], rd) #print("c=",c) c = int(c) d = b // c test_data.input_writeln(a, c, d) test_data.output_gen("Main.exe") # 标程编译后的可执行文件,不需要freopen等,CYaRon自动给该程序输入并获得输出作为.out sn += 1
- 1
Information
- ID
- 210
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 10
- Tags
- (None)
- # Submissions
- 1
- Accepted
- 1
- Uploaded By