几个简单算法
来源:互联网 发布:知乎 恐怖 编辑:程序博客网 时间:2024/05/29 03:39
1.求最大公约数的欧里几德算法:/** * 欧力几德 * @param m * @param n * @return */ private static int oula(int m,int n){ if(n==0)return m; int r=m%n; if(r==0){ return n; }else{ m = n; n = r; return oula(m, n); } } 2.求最大公约数的联系整数检查法/** * 连续整数检查法 * * @param m * @param n * @return */public static int gcd(int m,int n){int r = Math.min(m, n);for(;r>0;r--){if(m%r==0&&n%r==0){return r;}}return 0;} return 0; } 3.z质数判断:/** * 质数判断 * @param n * @return */ public static boolean isPrime(int n){ boolean flag = true; if(n==1) return false; if(n==2) return flag; for (int i = 2; i<= n/2; i+=2){ if(n%i == 0){ flag = false; break; } } return flag; } 4.斐波那契额数列三种求解:public static long m1(int n){if(n>1){long result = 1;do{result += m1(n-2);n--;}while(n>1);return result;}return n;}public static long m2(int n){if(n>1){long a=0,b=1;do{long tmp = b;b += a;a = tmp;}while(--n>1);return b;}return n;}public static long m3(int n){if(n>1){long a,b=1;n--;a = n&1;n /= 2;while(n-->0){a += b;b += a;}return b;}return n;} 5.求阶乘的两种算法:public static Integer F(int n){ if(n==0)return 1; if(n<=2&&;n>=1)return n; return F(n-1)*n; } //计算大数 public static BigInteger combination(int n){if(n==0)return new BigInteger("1");if(n<=2&&n>=1)return new BigInteger(n+"");int i=3;BigInteger b = new BigInteger("0");BigInteger tmp = new BigInteger("2");while(i<=n){b = tmp.multiply(new BigInteger(i+""));tmp = b;i++;}return b;} 6.附加一个算法计算题,求大神解答: /**小a和小b起初分别有A块钱和B块钱,它们决定玩一个游戏,游戏规则是扔一个硬币,如果结果是正面的话,小a要给小b C块钱。否则是反面的话,小b给小a D块钱。它们不断地扔硬币,直到某一次应该给钱的人拿不出那么多钱,就认为他破产输掉了。硬币不是均匀的,它以p1的概率产生正面,1 - p1的概率产生反面。请问小a最后胜利(也就是说小b破产输掉)的概率有多大?输入:A,B,C,D是整数,0<=A,B<50,0<=C,D<= 100,p1是浮点数 0<=p1<=1;输出:为保证输出的是整数,请输出小a获胜的概率乘以100后再下取整(直接截断后面的位数)的结果。例如,结果是0.125则输出12*/
0 0
- 几个简单排序算法
- 几个简单算法
- 几个简单的算法
- 几个简单常用的算法
- 几个简单常用的算法
- 几个简单有趣的算法
- 几个简单C语言算法
- 几个简单有趣的算法
- 几个简单的排序算法
- 几个简单的排序算法
- 几个简单有趣的算法
- 几个简单有趣的算法
- 几个简单有趣的算法
- 几个简单的算法题
- 几个简单的排序算法
- 几个简单的排序算法
- 几个简单有趣的算法
- 几个简单的C算法题目
- UIWindow 介绍1:概述、作用、主要属性及方法
- OC门
- 详解Apache下.htaccess文件常用配置
- java classloader
- cadence 操作技巧
- 几个简单算法
- EditText如何在全部输入完成时才进行操作
- json 解析1
- 基于数组的栈
- PL/SQL where 条件中使用case
- 两个日期相关方法
- 排序算法(二)简单选择排序
- 我终于找见那11道题的答案了
- $( "*", document.body)的含义