ФЭНДОМ


Главная | Описание языка | FXD | API | Примеры | Инструменты Разработки | Новости | Ресурсы | Форум

Нахождение простых чисел Править

println(primes(100));

function primes(N: Integer): Integer[] {
    var seq = [2];
    for (n in [3..N]) {
        if (isPrime(n, seq)) insert n into seq;
    }
    return seq;
}

function isPrime(n: Integer, primes: Integer[]): Boolean {
    for (prime in primes) {
        if (n mod prime == 0) {
            return false;
            }
        }
    return true;
}

Результат исполнения программы:

 [ 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ]


Перестановки Править

Перестановки на ru.wikipedia.org

function permutation(arr:Integer[]):Void{
    permutation(0, sizeof arr, arr)
}

function permutation(index: Integer, size:Integer, arr:Integer[]):Void{

    if(index == size-1){ print("  "); println(arr); return; }

    permutation(index+1, size, arr);

    for(i in [index+1..size-1]){
        permutation( index+1, size, [ arr[0..index-1], arr[i],arr[index+1..i-1],arr[index],arr[i+1..size-1]]);
    }

}


Использование:

 permutation([1..4]);
 [ 1, 2, 3, 4 ]
 [ 1, 2, 4, 3 ]
 [ 1, 3, 2, 4 ]
 [ 1, 3, 4, 2 ]
 [ 1, 4, 3, 2 ]
 [ 1, 4, 2, 3 ]
 [ 2, 1, 3, 4 ]
 [ 2, 1, 4, 3 ]
 [ 2, 3, 1, 4 ]
 [ 2, 3, 4, 1 ]
 [ 2, 4, 3, 1 ]
 [ 2, 4, 1, 3 ]
 [ 3, 2, 1, 4 ]
 [ 3, 2, 4, 1 ]
 [ 3, 1, 2, 4 ]
 [ 3, 1, 4, 2 ]
 [ 3, 4, 1, 2 ]
 [ 3, 4, 2, 1 ]
 [ 4, 2, 3, 1 ]
 [ 4, 2, 1, 3 ]
 [ 4, 3, 2, 1 ]
 [ 4, 3, 1, 2 ]
 [ 4, 1, 3, 2 ]
 [ 4, 1, 2, 3 ]

Алгоритмы сортировкиПравить

Сортировка Пузырьком Править

Сортировка пузырьком на ru.wikipedia.org

function bubbleSort(seq:Number[]):Number[]{

    var sort = seq;
    var elem:Number;

    for(n in reverse [0..sizeof seq - 2]){
        for(i in [0..n] ){
            if(sort[i+1] < sort[i] ){
                elem = sort[i];
                sort[i] = sort[i+1];
                sort[i+1] = elem;
            }
        }
    }
    
    return sort;
}


Использование:

 println(bubbleSort([3,2,1])); // output: [ 1.0, 2.0, 3.0 ]