约瑟夫斯 俄国农夫

来源:互联网 发布:做淘宝快递怎么便宜 编辑:程序博客网 时间:2024/05/17 05:07


package com.zhp.减常因子;public class Josephus {public static void main(String[] args) {int total = 41;int answer = getResult(total);System.out.println("存活的人是:" +answer);}/** * @param total *            总人数 */public static int getResult(int total) {int answer = 0;if (total == 1) {// 总数只有一个时,存活的是第一个人return 1;}if (total % 2 == 0) {// 偶数answer = 2 * getResult(total / 2) - 1;} else {// 奇数answer = 2 * getResult((total - 1) / 2) + 1;}return answer;}}


package com.zhp.减常因子;public class RusMul {public static void main(String[] args) {int n = 50, m = 65;int answer = getResult(n, m);System.out.println(answer);}public static int getResult(int n, int m){int answer = 0;if(n == 1){return m;}if( n%2 == 0){//n 是偶数n = n/2;m = 2*m;answer = getResult(n, m);}else{//n 是奇数n = (n - 1)/2;m = 2*m;answer = getResult(n, m) + m/2;}return answer;}}


0 0
原创粉丝点击