1 solutions

  • 0
    @ 2022-10-31 8:31:11
    #!/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