1.不能用java big 类型 打印 1000!
public String getfactorial(int value){
List<Integer> ll=new ArrayList();
for(int i=2;i<=value;i++){
if(ll.size()==0){//第一次添加
ll.add(i);
}else {
int bit=0;//进位
for(int j=0;j<ll.size();j++){//从个位循环乘以i
int tem=i*ll.get(j)+bit;//当前乘积+进位
ll.set(j,tem%10); //求当前数
bit=tem/10;//计算进位
}
//添加进位数
while(bit!=0){
ll.add(bit%10);
bit=bit/10;
}
}
}
StringBuffer sb=new StringBuffer();
for(int i=ll.size()-1;i>=0;i--){
sb.append(ll.get(i));
}
return sb.toString();
}
2.java 删除相同数组元素
public List delSame(List<Integer> ll){
// System.out.println(ll);
List<Integer> l2=new ArrayList();
for(int i=0;i<ll.size();i++){
int tem=ll.get(i);
boolean tag=true;
for(int t:l2){
if(t==tem){
tag=false;
break;
}
}
if(tag){
l2.add(tem);
}
}
// System.out.println(l2);
return l2;
}
3.冒泡法排序 从大到小
public char[] sort(char [] s){
for(int i=0;i<s.length;i++){
for(int j=i+1;j<s.length;j++){
if(s[i]<s[j]){
char tem=s[i];
s[i]=s[j];
s[j]=tem;
}else{
break;
}
}
// print(s);
}
return s;
}
4.递归实现 x加到y x,y正整数
public void recursion(int x,int y){
System.out.println("begin:"+x);
if(y>=++x){
recursion(x,y);
}
System.out.println("end:"+x);
}