package p07_funkcje;

import java.util.Scanner;

public class UtworzNapis {
    static String ciagLiczb(int limit) {
        // Funkcja zwraca napis składający się z liczb od 1 do n włącznie
        // rozdzielonych spacją (dopuszczamy spację na samym końcu)
        // "1 2 3 4 5 "
        String napis = "";
        for(int i = 1; i <= limit; i++) {
            // to jest niewydajne
            napis += i + " ";  // napis = napis + i + " " → komilator zamienia to na użycie StringBuildera, ale  każdym obrocie pętli nowego
        }
        return napis;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.print("\nPodaj argument (ujemny kończy): ");
            int arg = scanner.nextInt();
            if(arg < 0) break;
            long p = System.nanoTime();
            var wynik = ciagLiczb(arg);
            long k = System.nanoTime();
            System.out.printf("Wynik ma %d znaków. Czas działania: %.3f s\n", wynik.length(), (k-p)*1e-9);
            if(wynik.length() <= 1000) {
                System.out.println(wynik);
            }
        }
    }
}
