

以前の質問で、レピュニット数を表す方法を教えていただきました。

[Pythonを使ってレピュニット数を表現し、整数問題を解きたい](https://ja.stackoverflow.com/q/74777)

その次に、素数を順に代入していきたいのですが、うまくコードが書けません。  
具体的には、リストの中に、指定した数字以下の素数を入れるところまではできています。  
前の質問に倣って、そのリストをpと名づけたのですが、そのpの中の値をを順に代入していく方法がわかりません。

以下、以前の質問を引用:

>
> 以下の式を割り切れるような素数pを求めるという問題を解きたいのですが、レピュニット数(と思われる)をPythonでどのように処理すればいいのかわかりません。
[code]

>     1+10+10^2+・・・+10^(p-1)
>  
[/code]

なお、レピュニット数を `int('1' * p)` と表すことができることは教えていただいたのでわかっています。

以下コードです。

[code]

    import math
    
    def isPrime(num):
        if num < 2: return False
        elif num == 2: return True
        elif num % 2 == 0: return False
    
        for i in range(3, math.floor(math.sqrt(num))+1, 2):
            if num % i == 0:
                return False
    
        return True
    
    def callIsPrime(input_num=1000):
        numbers = []
       
        for i in range(1, input_num):
            if isPrime(i):
                numbers.append(i)
    
        return numbers
    
    p = callIsPrime(1000)
    
    print (int('1' * p) / p)
    
[/code]


CC BY-SA 4.0
2021-03-20T09:25:35.163
74780
2021-03-22T16:57:13.833
2021-03-22T16:57:13.833
3060
question
python
Pythonでリストの中の値を順に代入する方法


@metropolis さんよりコメントでいただいた

[code]

    for p in callIsPrime(1000): print(int('1' * p) % p)
    
[/code]

で解決いたしました。


CC BY-SA 4.0
2021-03-20T11:09:54.710
74782
2021-03-22T11:38:06.553
2021-03-22T11:38:06.553
7290
74780
answer