0
点赞
收藏
分享

微信扫一扫

java常用算法示例

说明: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

举报

相关推荐

0 条评论