Skip to content
Snippets Groups Projects
Select Git revision
  • 4d2020b052f3c5e59078d70d19efe1c0ae4c9fb2
  • master default protected
  • develop
3 results

systheo2functions.py

Blame
  • Forked from ACS / Public / Teaching materials / Systemtheorie 2 / lecture-tutorials
    Source project has a limited visibility.
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    generator.java 1.99 KiB
    import java.util.Collections;
    import java.util.LinkedList;
    import java.util.Random;
    
    public class generator {
    
        public static void main(String[] args) {
            
            String line = args[0];
    
            int n = Integer.parseInt(line);
            int g = Integer.MAX_VALUE;
            if(g%2!=0){g--;}
            LinkedList<Integer> v1 = new LinkedList<Integer>();
            LinkedList<Integer> v2 = new LinkedList<Integer>();
    
            String precision_s = "0.4";
            for(int i = 1;i<line.length();i++){
                precision_s+="9999";
            }
    
            double division_diff = 0.33;
            double precision_d = Double.parseDouble(precision_s);
            
    
            int g1 = (int)(g*precision_d);
            int g2 = g-g1;
    
            int n_v1=(int)(n*division_diff);
            int n_v2= n-n_v1;
    
            
            
            Random rnd = new Random(System.currentTimeMillis());
            for(int i=0;i<n_v1-1;i++){   
                int min_part_1 = (int)(g1/(n_v1-i));
                int a = rnd.nextInt(min_part_1+1+n)+min_part_1-n;
                if(a!=0){
                    g1=g1-a;
                    v1.add(a);
                }
            }
            v1.add(g1);
            for(int i=0;i<n_v2-1;i++){
                int min_part_2 = (int)(g2/(n_v2-i));
                int a = rnd.nextInt(min_part_2+1+n)+min_part_2-n;
                if(a!=0){
                    g2=g2-a;
                    v2.add(a);
                }
    
            }
            v2.add(g2);
    
    
            LinkedList<String> result = new LinkedList<String>();
            LinkedList<Integer> shuffle = new LinkedList<Integer>();
    
            shuffle.addAll(v1);
            shuffle.addAll(v2);
    
            for (Integer i1 : v1) {
                result.add("s1:"+i1);
            }
            for (Integer i2 : v2) {
                result.add("s2:"+i2);
            }
            
            Collections.shuffle(shuffle);
            for (Integer integer : shuffle) {
                System.out.println(integer);
            }
    
    
            Collections.shuffle(result);
    
            System.out.println("r");
            for (String ln : result) {
                System.out.println(ln);
            }
    
    
        }
    }