import java.util.ArrayList;
import java.util.List;
public class ClearRepeat {
/**
* @param args
*/
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("abc");
list.add("efg");
list.add("ghi");
list.add("ghi");
list.add("ghi");
list.add("efg");
for (int i = 0; i < list.size();i++) {
int j=list.lastIndexOf(list.get(i));
if (i!=j) {
list.remove(j);
i--;//每次有重复都让i回到初始位置,i==j时才可以向下循环
}
}
System.out.println(list);
}
}
角谷定理说:
任何一个正整数,如果是偶数,则除以2,如果是奇数则乘以3再加1,如此反复,必能最终得到1。
比如对9,输出:
9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class DynamicArray {
/**
* @param args
*/
public static void main(String[] args) {
/*Scanner scanner=new Scanner(System.in);
int x=scanner.nextInt();*/
//定义个最大的变量,随着循环而改变
List<Integer> max=new ArrayList<Integer>();for (int x = 3; x < 10000; x++) {
int temp=x;
List<Integer> list=new ArrayList<Integer>();
while (temp!=1) {
list.add(temp);
if (temp%2==0) {
temp/=2;
}
else {
temp=temp*3+1;
}
}
if (list.size()>max.size()) {
max=list;
}
}
for (int i = 0; i < max.size(); i++) {
System.out.print(max.get(i)+" ");
}
}
}
本文介绍了一种使用Java去除列表中重复元素的方法,并通过一个具体示例演示了角谷猜想(Collatz conjecture)的验证过程。该程序不仅展示了如何遍历列表并移除重复项,还实现了对一系列正整数应用角谷操作直至达到1的过程。

610

被折叠的 条评论
为什么被折叠?



