-1
A
回答
3
int lcm(int a, int b) { return (a/gcd(a,b))*b; }
的查找LCM对于gcd
看看Euclid algorithm。 对于2个以上的数字,使用lcm
迭代在下一个数字和前一个结果上。在代码中:
int lcms(int l int * a)
{
int i, result;
result = 1;
for (i = 0; i < l; i++) result = lcm(result, a[i]);
return result;
}
0
将您的N个号码存储在整数指针中,并递归调用找到LCM的方法。 如果你知道N有多大,你可以用一个循环来完成。 作为overcitated你可以使用:
int lcm(int a, int b) { return (a/gcd(a,b))*b; }
0
对于这个答案的依据是
NUM1 * NUM2 = LCM(NUM1,NUM2)* GCD(NUM1,NUM2) 所以在我看来代码应该是这样的
int gcd(int num1, int num2){
while(num1 != num2){
if(num1 > num2)
num1 -= num2;
else
num2 -= num1;
}
return num1;
}
int lcm(int num1, int num2){
return (num1/gcd(num1, num2))*num2; // as mentioned by Bryan above.
}
int main(void){
int i =0, result = 1;
for(i=2 ;i<=n; i++){ // n is the upper limit
// be sure to check limits of data types.
result= lcm(result, i);
}
// print the result;
return 0;
}
我只是重新定义由Bryan给出了答案,我是解决项目欧拉,即兴对答案的思想problem5。 :)
相关问题
- 1. 对于给定的方程f(N),满足O(f(N))是什么意思?
- 2. C++ ifstream.read;读取字节少于给定的n个字节
- 3. 对于给定的应用程序,NSDocumentDirectory是唯一的吗?
- 4. 循环中的C程序scanf(“%[^ \ n]%* c”,...)
- 5. 对于二项函数nCr = k,给定r和k找到n
- 6. 如何从1..n中得到数的xor,对于给定的n? (例如1^2^3^...^n)?
- 7. C:由给定的排序
- 8. (3^n + 2^n)%10对于大的
- 9. 对于给定的键访问列表值的第n个元素:Python字典
- 10. 对于给定数组大小为N的三个数的最大乘积
- 11. 检查值对于给定
- 12. 针对\ n的C++测试\ n
- 13. 查找给定BST中小于给定数字(n)的最大数字
- 14. 一个遍历n * n矩阵的c程序
- 15. 对于java swing应用程序,开源laf [look n feel]
- 16. 对于一个给定的数N,我如何找到x,S的乘积(x和x的因子数)= N?
- 17. 生成-n的多个序列:N
- 18. 程序性能和效率:多个打印语句对“\ n”
- 19. 对于一些常数c,阶乘(floor(log(n)))是大O(n^c)吗?
- 20. 对于给定数组的C装配错误
- 21. C#多线程服务器。将对象传递给主线程
- 22. PostgreSQL的选择对于给定的ID
- 23. N ++的C++算法!排序
- 24. SQL n对n匹配多个值
- 25. 对于给定叶子的ID
- 26. 对于给定的某些设备
- 27. 给定的方法()对于类型PendingTransactionsTest
- 28. 对于给定的图案HTML
- 29. 一个NSBundle对于给定的路径
- 30. 关于linux内存问题的C++多线程程序
这是两个数字,a和b。这如何帮助那位特别提出'我想要找到两个以上数字的LCM'的原始海报? – NickT 2013-04-27 10:26:41
啊,我错过了两个以上。我添加了一个泛化。 – 2013-04-27 10:35:18
您正在使用未初始化的堆栈变量'result',我们还需要发送第一个和第二个元素是'a [0]'和'a [1]',因此循环应该从** 1 **开始,并且上升到** n **。 'result'应该用'a [0]'来初始化。顺便说一句好的工作。 – ArunMKumar 2014-07-09 17:45:35