说明:java常用算法示例
step1:
import java.util.ArrayList;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
/*
* 有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?
* */
public class One {
public static void main(String[] args) {
List list = new ArrayList();
if (list.size() != 0) {
list.clear();
}
for (int i = 1; i < 5; i++) {
for (int j = 1; j < 5; j++) {
for (int k = 1; k < 5; k++) {
if (i != j && i != k && j != k) {
System.out.println(i + "" + j + k);
list.add(i * 100 + j * 10 + k);
}
}
}
}
System.out.println(list.size());
}
}
step2:
import java.util.ArrayList;
import java.util.List;
/*
* 利润 i 低于或等于10万元时,奖金可提10%;
利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
20万到40万之间时,高于20万元的部分,可提成5%;
40万到60万之间时高于40万元的部分,可提成3%;
60万到100万之间时,高于60万元的部分,可提成1.5%;
高于100万元时,超过100万元的部分按1%提成。
* */
public class Two {
public static void main(String[] args) {
double i;
double bonus = 0;
System.out.println("当月利润是:");
int j = 350000;
double bouns1 = 100000 * 0.1;
double bouns2 = bouns1 + 100000 * 0.075;
double bouns4 = bouns2 + 200000 * 0.05;
double bouns6 = bouns4 + 200000 * 0.03;
double bouns10 = bouns6 + 400000 * 0.0015;
if (j <= 100000) {
bonus = j * 0.1;
} else if (j <= 200000) {
bonus = bouns1 + (j - 100000) * 0.075;
} else if (j <= 400000) {
bonus = bouns2 + (j - 200000) * 0.05;
} else if (j <= 600000) {
bonus = bouns4 = (j - 400000) * 0.03;
} else if (j <= 1000000) {
bonus = bouns6 + (j - 600000) * 0.015;
} else if (j > 1000000) {
bonus = bouns10 + (j - 1000000) * 0.01;
}
System.out.println(bonus);
}
}
step3:
import java.util.ArrayList;
import java.util.List;
/*
* 完全平方数
题目: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
* */
public class Three {
public static void main(String[] args) {
for (int i = 1; i <= 42; i++) {
if (42 % i == 0) {
int j = 42 / i;
if (i > j) {
int a = i + j;
int b = i - j;
int x = b * b - 100;
System.out.println(x + "+100=" + b + "*" + b);
System.out.println(x + "+268=" + a + "*" + a);
}
}
}
}
}
step4:
import java.util.ArrayList;
import java.util.List;
/*
* 004,判断当天是这一年的第几天
题目: 输入某年某月某日,判断这一天是这一年的第几天?
* */
public class Four {
public static void main(String[] args) {
int days[] = {31, 28, 31, 30, 31, 30,
31, 31, 30, 31, 30, 31};
int day = 16;
int month = 10;
int year = 2024;
int total = 0;
for (int i = 0; i < month - 1; i++) {
total += days[i];
}
total += day;
boolean leap = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
if (leap && month > 2) {
total++;
}
System.out.println("这是第一年的第" + total + "天");
}
}
step5:
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
* 冒泡排序 多个数从小到大依次排列
* */
public class Five {
public static void main(String[] args) {
boolean flag = false;
int arrs[] = {3, 7, 6, 12, 9, 1, 38};
for (int i = 0; i < arrs.length - 1; i++) {
for (int j = 0; j < arrs.length - 1 - i; j++) {
if (arrs[j] > arrs[j + 1]) {
flag = true;
int temp = arrs[j];
arrs[j] = arrs[j + 1];
arrs[j + 1] = temp;
}
}
if (!flag) {
break;
} else {
flag = false;
}
}
System.out.println(Arrays.toString(arrs));
System.out.println("标志位:"+flag);
}
}
step6:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
* 九九乘法表
* */
public class Six {
public static void main(String[] args) {
for (int i=1;i<10;i++){
for (int j=1;j<=i;j++){
System.out.println(i+"*"+j+"="+i*j);
}
System.out.println("\n");
}
}
}
step7:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
* 鸡兔同笼问题求解
* */
public class Seven {
public static void main(String[] args) {
int foot = 94;
int sum = 35;
for (int chicken = 1;chicken<=foot/2;chicken++){
int rabbit = sum - chicken;
if (rabbit*4+chicken*2==foot){
System.out.println("兔子的数量:"+rabbit);
System.out.println("鸡的数量:"+chicken);
}
}
}
}
step8:
import java.util.Arrays;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
* 斐波那契数列 兔子数列 40个月 累计的兔子总数
* */
public class Eight {
public static void main(String[] args) {
int n=40;
if (n<1){
return;
}
if (n==1 || n==2){
return;
}
long arrs[] = new long[n];
arrs[0]=arrs[1]=1;
for (int i=2;i<n;i++){
arrs[i] = arrs[i-2]+arrs[i-1];
}
System.out.println(Arrays.toString(arrs));
}
}
step9:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/*
* 100-200之间的素数
* */
public class Nine {
public static void main(String[] args) {
Nine main = new Nine();
for (int i=101;i<=200;i +=2){
if (main.getPrime(i)){
System.out.println(i);
}
}
}
private boolean getPrime(int num) {
int sq = (int) Math.sqrt(num);
for (int j = 2; j <= sq; j++) {
if (num % j == 0) {
return false;
}
}
return true;
}
}
step10:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Ten {
public static void main(String[] args) {
int i = 100;
int x = 0;
int y = 0;
int z = 0;
for (; i < 1000; i++) {
x = i % 10;
y = i / 10 % 10;
z = i / 100;
if (i == x * x * x + y * y * y + z * z * z) {
System.out.println(i);
}
}
}
}
end