欢迎来到皮皮网官网

【openplm源码】【导航源码带统计】【核起爆指标源码】treeset源码

时间:2024-12-29 01:45:40 来源:alaba指标源码

1.java代码实现将100分拆成四个整数之和,一共有多少种拆法?

treeset源码

java代码实现将100分拆成四个整数之和,一共有多少种拆法?

       如果没有负整数,一共有 种拆法。openplm源码

       源码:

       import java.io.FileWriter;

       import java.io.IOException;

       import java.util.Arrays;

       import java.util.Set;

       import java.util.TreeSet;

       public class Main {

       public final static int Sum = ;

       static Set<String> Combinations = new TreeSet<>();

       public static void main(String[] args) throws IOException {

       for (int i1 = 0; i1 <= Sum; i1++) {

       for (int i2 = 0; i2 <= Sum; i2++) {

       for (int i3 = 0; i3 <= Sum; i3++) {

       for (int i4 = 0; i4 <= Sum; i4++) {

       String s = GetString(new int[] { i1,导航源码带统计 i2, i3, i4});

       if (CheckNumbers(i1, i2, i3, i4)) {

       Combinations.add(s);

       }

       }

       }

       }

       }

       System.out.println(Combinations);

       System.out.println(Combinations.size());

       FileWriter writer = new FileWriter("results.json");

       writer.write(Combinations.toString());

       writer.flush();

       writer.close();

       }

       public static String GetString(int[] numbers) {

       sort(numbers, 0, 3);

       return Arrays.toString(numbers);

       }

       public static void sort(int[] arr,int begin,int end) {

       int a = begin;

       int b = end;

       if (a >= b) return;

       int x = arr[a];

       while (a < b) {

       while (a < b && arr[b] >= x) b--;

       if (a < b) {

       arr[a] = arr[b];

       a++;

       }

       while (a < b && arr[a] <= x) a++;

       if (a < b) {

       arr[b] = arr[a];

       b--;

       }

       }

       arr[a] = x;

       sort(arr,begin,a-1);

       sort(arr,a+1,end);

       }

       public static boolean CheckNumbers(int i1, int i2, int i3, int i4) {

       return (i1 + i2 + i3 + i4) == Sum;

       }

       }

copyright © 2016 powered by 皮皮网   sitemap