0

私はプログラミングにまったく慣れていないので、今夜は助けが必要です。特定の範囲の数値についてゴールドバッハの予想を証明する必要がある場合に解決する必要がある問題があります。数が偶数であることを確認し、それに追加される素数を調べ、それらを出力して、範囲内でペアの数が最大の数を見つける必要があります。私の問題は次のとおりです。

for i in range (lower, upper + 1 ):
    if ( pairs > max_pairs):
        max_pairs = pairs
    # Check if Number is Even
    if ( i % 2 == 0 ):
        prime1 = 0
        prime2 = 0
        pairs = 0
        print ( i, "=")
        # Find Prime Numbers less than the Current Even Number
        for x in range ( 2 , ( i  - 1 ) ):
            prime = is_prime ( x )
            if ( prime == False ):
                break
            prime1 = x
            for n in range ( 2, ( i - 1 ) ):
                prime = is_prime (n)
                if ( prime == False ):
                    break
                prime2 = n
                if ( ( prime1 + prime2) == i ):
                    prime_sum = True
                else: 
                    break
                if ( prime1 >= prime2 ):
                    prime3 = prime1
                    prime1 = prime2
                    prime2 = prime3
                if ( prime_sum == True ):
                    print ( prime1, "+", prime2 )
                    pairs += 1

これら 2 つの if 条件のいずれかが満たされない場合、n を使用して for ループを繰り返す必要がありますが、break によって x ループに戻ります。これら 2 つの条件のいずれかが false の場合、プログラムを終了せずに繰り返すにはどうすればよいですか?

4

1 に答える 1

1

continueの代わりに使用したい場合がありbreakます。内側の for ループでを置き換えるbreakと、素数がまたはcontinueのときに内側の for ループが再開されます。Falseprime1+prime2 != i

于 2013-10-23T01:23:44.223 に答える