【发布时间】:2015-05-25 17:52:37
【问题描述】:
我很难找到/想出这种方式的解决方案。 我被要求写下一个接收两个整数并返回这些数字的公因数和素数之和的方法。例如:
我有 2 个号码: A=48 和 B=60
48=2*2*2*2*3 60=2*2*3*5
2,2,3 是这两个数的公素因数,因此 2+2+3=7 该方法将返回 7。
我做了一个原始代码:
int n=48,k=60;
int i=2;
while(n!=1)
{
if(n%i==0)
{
System.out.print(i+" ");
n/=i;
}
else
{
i++;
}
}
i=2;
System.out.println();
while(k!=1)
{
if(k%i==0)
{
System.out.print(i+" ");
k/=i;
}
else
{
i++;
}
}
我应该如何结合这两个循环使其同时计算?
【问题讨论】:
-
你给我们一些伪代码,我认为模数 % 运算符可能很有用。你至少知道如何编写带有整数属性的函数声明吗?
-
与论坛网站不同,我们不使用“谢谢”、“任何帮助表示赞赏”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.
-
对于可能出现的所有错误,我深表歉意。这是我第一次在这里提问。问题是我在面试工作时收到了这个问题。并让谷歌在我身边寻求帮助。我没有找到任何起点。
-
找到Greatest Common Divisor, Prime factorize 它,将因子相加并报告总和。您必须查找所有这些步骤的标准 C 代码,以及 Primality Test。一切顺利。
-
“2 个数的常见质因数”、“质数除数”、“gcd 因数”这就是我在 google 中尝试过的。它总是到达 GCD 功能,这不是我需要的。