素数の偶数
4からのすべての偶数は、2つの素数の合計として表すことができます。場合によっては、1つの数に素数の組み合わせの合計が複数含まれることがあります。
たとえば、数値10 =(5 + 5)および(7 + 3)
このアルゴリズムは、指定された数の素数のすべての組み合わせを検索します。 1つの数xが素数の場合、(数-x)が素数であるかどうかを確認します。素数の場合、xと(数-x)の合計は偶数を表します。
入力と出力
Input: Even number: 70 Output: Prime sums 70 = 3 + 67 70 = 11 + 59 70 = 17 + 53 70 = 23 + 47 70 = 29 + 41
アルゴリズム
dispPrimeSum(num)
入力- 偶数。
出力: いくつかの素数の合計を使用して数を表示します。
Begin if num is odd, then exit for i := 3 to num/2, do if i is prime, then if (num - i) is prime, then display ‘’num = i + (num – i)” done End
例
#include<iostream> using namespace std; int isPrime(int number) { //check whether number is prime or not int lim; lim = number/2; for(int i = 2; i<=lim; i++) { if(number % i == 0) return 0; //The number is not prime } return 1; //The number is prime } void displayPrimeSum(int num) { string res; if(num%2 != 0) { //when number is an odd number cout << "Invalid Number"; exit(1); } for(int i = 3; i <= num/2; i++) { if(isPrime(i)) { //if i is a prime number if(isPrime(num-i)) { //num - i is also prime, then cout << num <<"= "<<i << " + "<<(num-i)<<endl; } } } } main() { int num; cout << "Enter an even number: "; cin >> num; displayPrimeSum(num); }
出力
Enter an even number: 70 70 = 3 + 67 70 = 11 + 59 70 = 17 + 53 70 = 23 + 47 70 = 29 + 41
-
Pythonのターゲット合計を持つダイスロールの数
d個のサイコロがあり、各サイコロに1、2、...、fの番号が付けられたf個の面があるとします。サイコロを振るには、10 ^ 9 + 7を法として(fdの合計ウェイのうち)可能なウェイの数を見つけて、表向きの数字の合計がターゲットと等しくなるようにする必要があります。したがって、入力がd =2、f =6、target =7の場合、出力は6になります。したがって、6つの面を持つ各サイコロを投げる場合、合計6を1+6として取得する6つの方法があります。 2 + 5、3 + 3、4 + 3、5 + 2、6+1。 これを解決するには、次の手順に従います- m:=1e9 + 7 次数dx(t +
-
Pythonプログラムで数の偶数因子の合計を見つける
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、数値のすべての偶数因子の合計を表示する必要があります。 アプローチ 数値が奇数かどうかを確認し、偶数の因子がないため、0を返します。 数が偶数の場合、計算を実行します。 20を除く他のすべての項は、偶数の因数の合計を生成するために乗算されます。 偶数因子のすべての奇数を削除するために、1である20を無視します。このステップの後、偶数因子のみを取得しました。 2は私たちが利用できる唯一の素数であることに注意してください。 次に、以下の実装を見てみましょう- 例 # math