Riešenia (skupina A, 3. týždeň)

Praktické cvičenie

import java.awt.Color;

import sk.upjs.jpaz2.Turtle;

public class ChytraKorytnacka extends Turtle {

        public void zahada() {
                for (int i = 0; i < 256; i++) {
                        Color c = new Color(i, 100, 100);
                        this.setPenColor(c);
                        this.setPosition(i, 0);
                        this.moveTo(i, 150);
                }
        }

        public void nahodnaFarba() {
                int r = (int) (Math.random() * 256);
                int g = (int) (Math.random() * 256);
                int b = (int) (Math.random() * 256);
                Color nf = new Color(r, g, b);
                this.setPenColor(nf);
        }

        public void sustredneKruhy(double polomer) {
                int pocitadlo = 1;
                while (polomer >= 1) {

                        if (pocitadlo % 3 == 1) {
                                this.setFillColor(new Color(255, 0, 0));
                        }
                        if (pocitadlo % 3 == 2) {
                                this.setFillColor(Color.blue);
                        }
                        if (pocitadlo % 3 == 0) {
                                int r = (int) (Math.random() * 256);
                                this.setFillColor(new Color(r, r, r));
                        }

                        this.dot(polomer);
                        polomer = polomer * 0.8;
                        pocitadlo++;
                }
        }

        public long mocnina(int n, int k) {
                long vysledok = 1;
                for (int i = 0; i < k; i++) {
                        vysledok = vysledok * n;
                }
                return vysledok;
        }
}
import java.awt.Color;

import sk.upjs.jpaz2.Turtle;

public class MojaKorytnacka extends Turtle {

        public void bodkyVKruhu(int pocetBodiek, double polomer) {
                double xStart = this.getX();
                double yStart = this.getY();
                this.penUp();
                for (int i = 0; i < pocetBodiek; i++) {
                        this.turn(Math.random() * 360);
                        this.step(Math.random() * polomer);
                        if (this.getY() < yStart) {
                                this.setFillColor(Color.blue);
                        } else {
                                this.setFillColor(Color.red);
                        }

                        this.dot(5);
                        this.setPosition(xStart, yStart);
                }
        }

        public long faktorial(int n) {
                long vysledok = 1;
                for (int i = 1; i <= n; i++) {
                        vysledok = vysledok * i;
                }
                return vysledok;
        }

        public int pocetDelitelov(int n) {
                int pocet = 1;
                for (int i = 1; i <= ((int) (n / 2)); i++) {
                        if (n % i == 0) {
                                pocet++;
                        }
                }

                return pocet;
        }

        public boolean jePrvocislo(int n) {
                return (this.pocetDelitelov(n) == 2);
        }

        public int pocetCifier(int n) {
                n = Math.abs(n);
                if (n == 0) {
                        return 1;
                }

                int pocitadlo = 0;
                while (n > 0) {
                        n = n / 10;
                        pocitadlo++;
                }
                return pocitadlo;
        }

        public boolean maCifru(byte c, int n) {
                while (n > 0) {
                        if ((n % 10) == c) {
                                return true;
                        } else {
                                n = n / 10;
                        }
                }
                return false;
        }
}