一、基础练习
1.A+B的问题
package Chapter01;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();
int b = scanner.nextInt();
System.out.println(a+b);
}
}
2.Fibonacci数列
package Chapter01;
import java.util.Scanner;
public class Demo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
if (n<3){
System.out.println(1);
}else {
int[] a = new int[n+1];
a[1] = 1%10007;
a[2] = 1%10007;
for (int i = 3; i <=n ; i++) {
a[i] = (a[i-1]+a[i-2])%10007;
}
System.out.println(a[n]);
}
}
}
3.序列求和
package Chapter01;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
long n = scanner.nextLong();
long sum = 0;
for (int i = 1; i <=n ; i++) {
sum = sum+i;
}
System.out.println(sum);
}
}
4.圆的面积
package Chapter01;
import java.util.Scanner;
public class Demo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
final double PI = 3.14159265358979323;
double r = scanner.nextInt();
double s = r*r*PI;
System.out.println(String.format("%.7f",s));
}
}
5.十六进制转八进制
package Chapter01;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
String[] a = new String[n];
for (int i = 0; i < n; i++) {
a[i] = scanner.next();
}
scanner.close();
for (int j = 0; j < n; j++) {
String str2 = f(a[j]);
int len2 = str2.length();
if (len2%3==1){str2="00"+str2;}
if (len2%3==2){str2="0"+str2;}
g(str2);
}
}
public static String f(String s){
int len = s.length();
StringBuilder str = new StringBuilder();
for (int i = 0; i < len; i++) {
switch (s.charAt(i)){
case '0':str.append("0000");break;
case '1':str.append("0001");break;
case '2':str.append("0010");break;
case '3':str.append("0011");break;
case '4':str.append("0100");break;
case '5':str.append("0101");break;
case '6':str.append("0110");break;
case '7':str.append("0111");break;
case '8':str.append("1000");break;
case '9':str.append("1001");break;
case 'A':str.append("1010");break;
case 'B':str.append("1011");break;
case 'C':str.append("1100");break;
case 'D':str.append("1101");break;
case 'E':str.append("1110");break;
case 'F':str.append("1111");break;
default:break;
}
}
return str.toString();
}
public static void g(String str) {
int len = str.length();
StringBuilder s = new StringBuilder();
for (int i = 0; i < len; i=i+3) {
int temp = ((str.charAt(i)-'0')*4+(str.charAt(i+1)-'0')*2+(str.charAt(i+2)-'0'));
s.append(temp);
}
System.out.println(s.toString().replaceFirst("^0*",""));
}
}
6.数列排序
package Chapter01;
import java.util.Scanner;
public class Demo06 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
int temp;
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
for (int j = 0; j < n; j++) {
for (int i = 0; i < n-j-1; i++) {
if (arr[i]>arr[i+1]){
temp=arr[i];
arr[i]=arr[i+1];
arr[i+1]=temp;
}
}
}
for (int i = 0; i < n; i++) {
System.out.print(arr[i]+" ");
}
sc.close();
}
}
7.十六进制转十进制
package Chapter01;
import java.util.Scanner;
public class Demo07 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String string = scanner.next();
System.out.println(Long.valueOf(string,16));
System.out.println(Long.parseLong(string,16));
}
}
8.十进制转十六进制
package Chapter01;
import java.util.Scanner;
public class Demo08 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
System.out.println(Integer.toHexString(n).toUpperCase());
}
}
9.杨辉三角型
package Chapter01;
import java.util.Scanner;
public class Demo09 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
for (int i = 0; i < n; i++) {
long number = 1;
for (int j = 0; j <= i; j++) {
System.out.print(number+" ");
number = number*(i-j)/(j+1);
}
System.out.println();
}
}
}
10.回文数
package Chapter01;
public class Demo10 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.println(i+""+j+""+j+""+i);
}
}
}
}
11.特殊回文数
package Chapter01;
import java.util.Scanner;
public class Demo11 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
for (int i = 1; i <10 ; i++) {
for (int j = 0; j <10 ; j++) {
for (int k = 0; k < 10; k++) {
if (i+i+j+j+k==n){
System.out.println(""+i+j+k+j+i);
}
}
}
}
for (int i = 1; i <10 ; i++) {
for (int j = 0; j <10 ; j++) {
for (int k = 0; k < 10; k++) {
if (i+i+j+j+k+k==n){
System.out.println(""+i+j+k+k+j+i);
}
}
}
}
}
}
12.特殊的数字
package Chapter01;
public class Demo12 {
public static void main(String[] args) {
for (int i = 1; i < 10; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k < 10; k++) {
if ((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k)){
System.out.println(""+i+j+k);
}
}
}
}
}
}
13.查找整数
package Chapter01;
import java.util.Scanner;
public class Demo13 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scanner.nextInt();
}
int a = scanner.nextInt();
scanner.close();
for (int j = 0; j < n; j++) {
if (arr[j]==a){
System.out.println(j+1);
break;
}else if (j==n-1){
System.out.println(-1);
}
}
}
}
14.数列特征
package Chapter01;
import java.util.Scanner;
public class Demo14 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i]=scanner.nextInt();
}
scanner.close();
int sum=0,max=arr[0],min=arr[0];
for (int i = 0; i < n; i++) {
if (min>arr[i]){
min=arr[i];
}
if (max<arr[i]){
max=arr[i];
}
sum = sum+arr[i];
}
System.out.println(max);
System.out.println(min);
System.out.println(sum);
}
}
15.字母图形
package Chapter01;
import java.util.Scanner;
public class Demo15 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
scanner.close();
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
char x = (char)('A'+Math.abs(i-j));
System.out.print(x);
}
System.out.println();
}
}
}
16.01字串
package Chapter01;
public class Demo16 {
public static void main(String[] args) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
for (int l = 0; l < 2; l++) {
for (int m = 0; m < 2; m++) {
System.out.println(""+i+j+k+l+m);
}
}
}
}
}
}
}
17.闰年判断
package Chapter01;
import java.util.Scanner;
public class Demo17 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int y = scanner.nextInt();
if ((y%4==0&&y%100!=0) || y%400==0){
System.out.println("yes");
}else {
System.out.println("no");
}
}
}