使用C ++查找数的偶数因子之和。
在本节中,我们将看到如何高效地获得一个数的所有偶数素数之和。有一个数字说n=480,我们必须获得所有因素。480的素数是2、2、2、2、2、3、5。所有偶数之和为2+2+2+2+2=10。要解决此问题,我们必须遵循此规则-
当数字可被2整除时,将它们加和,然后反复将数字除以2。
现在数字必须是奇数。因此,我们将找不到任何偶数因素。然后,只需忽略这些因素。
让我们看看该算法以获得更好的主意。
算法
printPrimeFactors(n): begin sum := 0 while n is divisible by 2, do sum := sum + 2 n := n / 2 done end
示例
#include<iostream>
using namespace std;
int sumEvenFactors(int n){
int i, sum = 0;
while(n % 2 == 0){
sum += 2;
n = n/2; //reduce n by dividing this by 2
}
return sum;
}
main() {
int n;
cout << "Enter a number: ";
cin >> n;
cout << "Sum of all even prime factors: "<< sumEvenFactors(n);
}输出结果
Enter a number: 480 Sum of all even prime factors: 10
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西