1001 害死人不偿命的(3n+1)猜想java
import java.util.Scanner;
public class Main{
public static void main (String [] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int time = 0;
while(n!=1){
if(n%2 == 0){
n = n/2;
time++;
}
else{
n = (3*n+1)/2;
time++;
}
}
System.out.println(time);
}
}
1004 成绩排名
import java.util.Scanner;
public class Main{
public static void main (String [] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
//将其存为一组数组,之后,每三个一查
// ArrayList arrayList = new ArrayList();
// arrayList
//没有数组,直接就是边输入,边比较
String name1 = null;
String name2 = null;
String num1 = null;
String num2 = null;
int score = 0;
int score3 = 101;
for (int i = 0; i < n; i++) {
String cin1 = sc.next();
String cin2 = sc.next();
int score2 = sc.nextInt();
score3 = Math.min(score3,score2);
if(score3 == score2){
name1 = cin1;
num1 = cin2;
}
score = Math.max(score,score2);
if(score == score2){
name2 = cin1;
num2 = cin2;
}
}
System.out.println(name2+" "+num2);
System.out.println(name1+" "+num1);
}
}
其实这道题,我有点想把数据寄存到一个一维数组里面,之后再按照隔位比较,最后发现还要涉及到强转,等等,感觉变麻烦了,最后,直接看了一下其他人的思路,边输入边比较就解决了。