最大公约数和最小公倍数 分解质因数 完全平方数
来源:互联网 发布:java获取数组长度 编辑:程序博客网 时间:2024/05/04 05:43
最大公约数和最小公倍数
分解质因数
完全平方数
package arithmetic;/** * 求最大公约数和最小公倍数 * 分解质因数 80=2*2*2*2*5 * * 有1、2、3、4个数字, * 能组成多少个互不相同且无重复数字的三位数? * 都是多少? * * 一个整数,它加上100后是一个完全平方数, * 加上168又是一个完全平方数,请问该数是多少? * * @author sunRainAmazing * */public class NumberDemo { public static void main(String[] args) { int a=63,b=28; System.out.println(a+" , "+b +"的最大公约数为:" +getCommonDivisor1(a,b)); System.out.println(a+" , "+b +"的最大公约数为:" +getCommonDivisor(a,b)); System.out.println(a+" , "+b +"的最小公倍数为:" +a*b/getCommonDivisor(a,b)); resolvePrime(80); arrangeNumber(); getNumber(); } /** * 求两个数的最大公约数 * @param n * @param m * @return */ public static int getCommonDivisor(int n,int m){ while(true){ if((n%=m)==0) return m; if((m%=n)==0) return n; } } /** * 返回 最大公约数 a * @param a * @param b * @return */ public static int getCommonDivisor1(int a,int b){ //交换两个数 if(a<b){ int temp=a; a=b; b=temp; } while((a%b)!=0){ a%=b; //交换两个数 if(a<b){//这种方式有缺陷---当值比较大时容易越界 a+=b; b=a-b; a-=b; } } return b; } /** * 进行传入参数分解质因数 * 程序分析:对n进行分解质因数,应先找到一个最小的质数k, * 然后按下述步骤完成: * (1)如果这个质数恰等于n, * 则说明分解质因数的过程已经结束,打印出即可。 * (2)如果n <> k,但n能被k整除,则应打印出k的值, * 并用n除以k的商,作为新的正整数你n,重复执行第一步。 * (3)如果n不能被k整除,则用k+1作为k的值, * 重复执行第一步。 * @param number */ public static void resolvePrime(int number){ System.out.print("分解质因数:"+number+"="); int k=2; while(k <= number){ if(k==number){ System.out.println(number); break; }else if(number%k==0){ System.out.print(k+"*"); number /= k; }else{ k++; } } } /** * 有1、2、3、4个数字, * 能组成多少个互不相同且无重复数字的三位数?都是多少? */ public static void arrangeNumber(){ int i,j,k; i=j=k=0; int count=0; for(i=1;i<=4;i++) for(j=1;j<=4;j++) for(k=1;k<=4;k++) if(i!=j && j!=k && i!=k){ count+=1;//count++; ++count; System.out.println(i*100+j*10+k+"\t"); } System.out.println ("\n经过排列组合后,有"+count+"个数"); } /** * 利用Math的相关方法进行测试 * 一个整数,它加上100后是一个完全平方数, * 加上168又是一个完全平方数,请问该数是多少? * Math.floor() 向下取整 * Math.sqrt() 取开方值 */ public static void getNumber(){ long number=1; for(;number<=10000000l;number++) //向下取整Math.floor() if( Math.floor(Math.sqrt(number+100))==Math.sqrt(number+100) && Math.floor(Math.sqrt(number+168))==Math.sqrt(number+168)){ System.out.println(number); break; } }}
1 0
- 最大公约数和最小公倍数 分解质因数 完全平方数
- 100以内的质因数分解并计算完全平方数
- noip2001 最大公约数和最小公倍数问题 (质因数分解)
- 冒泡排序算法 递归算法,求n的阶乘 求最大公约数和最小公倍数 java分解质因数
- NOIP 2001-2——最大公约数和最小公倍数问题(简单推导/分解质因数)
- 找质数,分解质因数,找完全数
- 两个数最大公约数和最小公倍数
- 最大公约数和最小公倍数问题--分解质因子
- C语言 求最大公约数的三种方法,利用最大公约数求最小公倍数,通过分解质因数法来验证
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- 求两个数的最大公约数和最小公倍数
- HDU2277-Change the ball
- 俄罗斯方块游戏开发(VC++ mfc dialog模式)
- Laravel 中点赞功能实现
- GCC编译过程
- 学习记录2
- 最大公约数和最小公倍数 分解质因数 完全平方数
- 用C语言实现 坐标管理系统(类似于学生管理系统的功能)
- 获取全部存储设备路径
- 如何保证矩阵计算的精确度:backward stable & well conditioned
- 我的PHP常用代码段
- [Leetcode 100] Same Tree
- MySQL--主键约束
- POJ 1942 Paths on a Grid (组合数学)
- echart地图隐藏南海诸岛