在 C++ 中将奇数表示为质数之和
在这个问题中,我们给出了一个奇数N。我们的任务是将一个奇数表示为质数之和。
表示数时最多可以有三个素数。
让我们举个例子来理解这个问题,
输入: N=55
输出: 53+2
解决方法:
奇数可以表示为素数之和。考虑到这些素数,我们有三种情况。
情况1: 如果n是素数,则表示为一个素数n的和。
情况2: 如果(n-2)是素数,则表示为两个素数 n-2和2之和。
情况3: (n-3)是一个偶数,可以使用哥德巴赫猜想方法表示为两个素数之和,其中我们将检查数A是否为素数,数{(n-3)-A}是否为也总理然后打印它。
程序来说明我们的解决方案的工作,
示例
#includeusing namespace std; bool isPrime(int x) { if (x == 0 || x == 1) return false; for (int i = 2; i * i <= x; ++i) if (x % i == 0) return false; return true; } void primeAsSumofPrime(int n) { if (isPrime(n) ) cout< 输出-
号码 561 expressed as sum of primes is 3 + 11 + 547