- 浏览: 21925 次
- 性别:
- 来自: 南京
最新评论
求能被1到20的数整除的最小正整数。最直觉的方法是求1到20这20个数的最小公倍数。
求n个数的最小公倍数,以a,b,c三个数为例,他们的最小公倍数等于:先求a与b的最小公倍数m,然后m和c的最小公倍数即着三个数的最小公倍数。
求两个数a,b的最小公倍数嘛,先取出其中较大的那个比如a,然后再用k*a去试探能否被较小那个数整除,其中,k是从1开始的自然数 k*a<a*b。
int get_lcm(int a, int b)
{
if(a==b)
{
return a;
}
int bigger = a<b?b:a;
int smaller= a<b?a:b;
int max = a*b;
int i;
for(i=bigger; i<max; i+=bigger)
{
if(i%smaller == 0)
{
return i;
}
}
return max;
}
另外一种比较好的方法,以n取10为例
2,3,4,5,6,7,8,9,10 (1没有什么意义,忽略掉了)
将这些数字分解质因数:
2, 3, 2*2, 5, 2*3, 7, 2*2*2, 3*3, 2*5
这些质数分别是2, 3, 5, 7
最终答案可以表示为:
2^a * 3^b * 5^c * 7^d (其中,x^y表示x的y次方)
其中的英文字母表示在上面分解质因数时所得到的表达式中质因数在同一个表达式中出现的次数的最大值。
质因数2出现次数最多是在8=2*2*2中,其出现了3次,所以a为3。
同理可得到:2^3 * 3^2 * 5^1 * 7^1 = 2520。
求n个数的最小公倍数,以a,b,c三个数为例,他们的最小公倍数等于:先求a与b的最小公倍数m,然后m和c的最小公倍数即着三个数的最小公倍数。
求两个数a,b的最小公倍数嘛,先取出其中较大的那个比如a,然后再用k*a去试探能否被较小那个数整除,其中,k是从1开始的自然数 k*a<a*b。
int get_lcm(int a, int b)
{
if(a==b)
{
return a;
}
int bigger = a<b?b:a;
int smaller= a<b?a:b;
int max = a*b;
int i;
for(i=bigger; i<max; i+=bigger)
{
if(i%smaller == 0)
{
return i;
}
}
return max;
}
另外一种比较好的方法,以n取10为例
2,3,4,5,6,7,8,9,10 (1没有什么意义,忽略掉了)
将这些数字分解质因数:
2, 3, 2*2, 5, 2*3, 7, 2*2*2, 3*3, 2*5
这些质数分别是2, 3, 5, 7
最终答案可以表示为:
2^a * 3^b * 5^c * 7^d (其中,x^y表示x的y次方)
其中的英文字母表示在上面分解质因数时所得到的表达式中质因数在同一个表达式中出现的次数的最大值。
质因数2出现次数最多是在8=2*2*2中,其出现了3次,所以a为3。
同理可得到:2^3 * 3^2 * 5^1 * 7^1 = 2520。
发表评论
-
KMP快速字符串查找算法
2011-08-25 19:29 673在C/C++语言编程过程中,一般的字符串搜索操作都是通过标准库 ... -
求解最大公约数问题
2011-08-25 19:27 700最大公因数,又称最大公约数。是指 [n(≧2)个自然数 a1, ... -
堆排序(Heap Sort)算法学习
2011-08-25 19:26 1087在程序设计相关领域, ... -
整数拆分问题的动态规划解法
2011-08-25 19:26 3074输入n,和k,问将n用1到k这k个数字进行拆分,有多少种拆分方 ... -
背包问题介绍与分析
2011-08-25 19:24 1034背包问题是在1978年由Merkel和Hellman提出的。它 ... -
求平方根sqrt()函数的底层算法效率问题
2011-08-25 19:23 1294我们平时经常会有一些数据运算的操作,需要调用sqrt,exp, ... -
面试中常见的一些算法问题
2011-08-25 19:22 700Problem 1 : Is it a loop ? ( ... -
各种排序算法的C++实现与性能比较
2011-08-25 19:21 928排序是计算机算法中非常重要的一项,而排序算法又有不少实现方法, ... -
背包问题之硬币找零问题
2011-08-25 19:19 1177设有6 种不同面值的硬 ... -
买书折扣最优惠问题解法
2011-08-25 19:17 758题目:在节假日的时候 ... -
二叉树中的最近公共祖先问题
2011-08-25 19:16 1325题目:要求寻找二叉树中两个节点的最近的公共祖先,并将其返回。 ... -
判断一个整数是否是2的N次方
2011-08-25 19:04 1827题目:给定一个整数num,判断这个整数是否是2的N次方。比如, ... -
字符串逆序的算法汇总
2011-08-25 19:01 1061很早就准备写一个字符串系列的面试题,本来已经写好了,大概有十几 ... -
计算从1到N中1的出现次数
2011-08-25 18:59 602给定一个十进制整数N, ... -
KMP快速字符串查找算法
2011-08-25 18:57 967在C/C++语言编程过程中,一般的字符串搜索操作都是通过标准库 ... -
快速排序的递归实现
2011-08-25 18:54 761快速排序是对冒泡排序的一种改进。它的基本思想是:通过一次排序将 ... -
数字1亿里面有多少个1呢
2011-08-25 18:52 745乍看这题真够唬人的,群里看到这个题目后争先恐后的说看法。最简单 ... -
最大子序列、最长公共子串、最长公共子序列
2011-08-25 18:33 795最大子序列 最大子序列是要找出由数组成的一维数组中和最大的连续 ... -
一道关于男女比例的面试题
2011-08-25 16:56 1043阿里巴巴的一道面试题:说澳大利亚的父母喜欢女孩,如果生出来的第 ...
相关推荐
对于任意两个正整数a和b,它们的最小公倍数LCM(a, b)是能够同时被a和b整除的最小正整数。 为了求解1至20的所有整数的最小公倍数,我们可以考虑以下步骤: 1. **分解质因数**:首先将1至20中的每个数字分解为质因数...
1. 能被某个数整除的定义:如果一个数可以被另一个数整除,那么这个数就是另一个数的倍数。例如,能被2整除的数就是2的倍数,能被3整除的数就是3的倍数,以此类推。 2. 能被某个数整除的判断方法:判断一个数能否被...
当我们谈论一个数能被3、5、7等整除时,通常涉及到的是数的可除性以及模运算。 标题“c# 整除3,5,7”表明我们要讨论的是如何在C#程序中判断一个数是否能被3、5、7整除。下面我们将深入探讨这个主题。 首先,我们...
2. 最小公倍数(LCM):是最小的正整数,它可以被两个或多个非零整数无余数地整除。对于12和16,其最小公倍数是48,因为没有比48更小的数同时是12和16的倍数。 在Delphi中,我们可以使用欧几里得算法(Euclidean ...
输入数据保证a0 能被a1 整除,b1 能被b0 整除。 输出: 共一行,对于输入的数据:若不存在这样的x,请输出0;若存在这样的 x,请输出满足条件的x 的个数。 输入样例: 41 1 96 288 输出样例: 6
- **合数**:除了能被1和它本身整除外,还能被其他正整数整除的数,例如4、6、8、9等。 了解这些基本的数的整除特征和质合数定义,可以帮助我们解决涉及整除的复杂数学问题,包括找出特定条件下的数字组合、确定数...
35. **闰年判断**:2月份的天数取决于年份是否为闰年,闰年判断规则为能被4整除但不能被100整除,或者能被400整除。 36-37. **三角形判断与类型识别**:应用三角形的性质,如勾股定理,判断是否能构成三角形及其...
10. 最大公因数是两个或多个整数共有的最大的因数,而最小公倍数是能被两个或多个整数整除的最小的正整数。 11. 解决问题中的实际应用题目,如连续自然数的积、将长方形纸片裁成正方形、分组问题和早操排队问题,都...
- 填空题第6题,能被5整除的最小正整数是5,因为5是最小的正数,它的个位是5,符合5的倍数特征。 4. **20以内能被3整除的数**: - 填空题第7题,20以内能被3整除的数有3, 6, 9, 12, 15, 18,这些数的各位数字之和...
在数学中,最小公倍数(Least Common Multiple,简称LCM)是指能够被几个给定的整数共同整除的最小正整数。例如,6是2和3的最小公倍数,因为6既能被2整除也能被3整除,而且没有比6更小的数同时满足这两个条件。计算...
二、输入两个正整数m、n,完成如下功能:(根据题目要求调用上述功能函数)(1)求出m和n两个数之间所有“明7暗7”数,即数字中有7或能整除7,如37,63.(2)分别求出m! 和 n!(3)求m和n的最大公约数和最小公倍数。...
- 正整数24能被正整数a整除,满足条件的a的值是1, 2, 3, 4, 6, 8, 12, 24。 这些知识点覆盖了整数的基础概念、整除的性质以及相关运算的运用。通过这些题目,学生可以巩固对整数的理解,学习如何判断整除关系,并...
1. 能被3整除的数的个数:我们可以将2000除以3,得到666...6(共667位),这意味着在2000以内有667个能被3整除的数(包括0和2000)。 2. 能被7整除的数的个数:同理,将2000除以7,得到285...5(共286位),所以在...
换句话说,如果一个正整数n不能被1到n之间的任何其他整数整除,那么这个数就是素数。 在C#中,实现这个功能可以采用多种方法,但常见的方法是通过循环和除法来检查。下面是一个简单的C#函数,用于判断输入的正整数...
- 这个两位数是10或20,因为互换后仍为偶数且能被5整除 - 最大的三位数是630,最小的是306 - 这样的两位数有4个,分别是20, 40, 60, 80,其中最小的是20 - 405不能同时被2,5整除,调整位置后的新三位数可以是...
这是因为a和b能被d整除,所以a * b也是d的倍数。而LCM(a, b)是最小的这样的倍数。 现在,我们扩展这个思路到多个数的情况。假设我们有n个数a1, a2, ..., an,首先计算前两个数a1和a2的最小公倍数LCM(a1, a2),然后...
Hanks博士是BT ( Bio-Tech,生物技术)领域的知名专家,他的...输入数据保证a0能被a1整除,b1能被b0整除。 输出格式: 输出共n行。每组输入数据的输出结果占一行,为一个整数。 对于每组数据:若不存在这样的x,请输出0;
而能被整除的条件更严格,要求除数和被除数都是整数,所以只有12÷3=4满足这个条件,因此被除数能被除数整除的有1个。填入的空白应该是3和1,分别代表能被除尽的数量和能被整除的数量。 接着,我们来看因数和倍数的...
穷举法求最大公约数相对简单,通过遍历从1到a和b的最小值的所有整数,找到第一个能同时整除a和b的数,即为最大公约数。流程图如下: - 输入两个正整数a和b。 - 初始化一个变量gcd为1。 - 遍历从1到a和b的最小值...
2. 使用循环,从较小的数开始,逐个检查是否满足条件:lcm能被两个输入的数整除。 3. 如果找到满足条件的数,跳出循环,返回该数作为最小公倍数。 4. 如果循环结束未找到符合条件的数,说明有误,程序可能需要检查...