喊数字出圈的算法
?public static int cycle(int total,int k){?? // total表示人数,k表示循环数
??List<Integer> dataList = new LinkedList<Integer>();
??
??for(int i=0;i<total;i++){
???dataList.add(new Integer(i+1));
??}
??
??int index = -1;
??while(dataList.size()>1){
???index = (index + k)%dataList.size(); //得到出局的下标.
???dataList.remove(index--);????? //去除出局的元素,并且索引从0开始.
??}
??return dataList.get(0).intValue();
?}
?
?
这个是喊数字出圈的算法................................................................很经典.................................................
?
public static boolean getCycle(int number){
????????? int oldNumber = number;
????????? int temp=0;
????
????????? while(num>0){
????????????? temp = temp * 10 + num%10;
????????????? num = num/10;
????????? }
???????? return temp == oldNumber;
}
?
这个是 判断 回文数字 的算法 ....................................................................................................................
?
public static boolean isPrime(int num){
???? long?? sprt? =? (long) Math.sprt(num);
???? for(int i=2;i<sprt;i++){
??????????? if(num%i==0) return false;???? //一个数如果能够不除尽它的平方根下所有的整数(1不包含),那么就是素数.
???? }
}
?
这个是判断 素数的方法................................................................................................................................