23.1.23010300. Učitati neki 3 cifreni broj pa odrediti i Ispisati njemu najbliži prost broj.

Opis rješenja:

Listing programa:


/* 23010300 Učitati neki 3 cifreni broj pa odrediti i ispisati njemu najbliži prost broj */
import java.util.Scanner;
public class zadatak {

	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		boolean prost;
		int x, xgore = 0, xdole = 0;
		System.out.print("Unesi trocifren broj: ");
		x = input.nextInt();
		while (x < 100 || x > 999) {
			System.out.print("Broj nije trocifren. Unesi trocifren broj:");
			x = input.nextInt();
		}

		for (int y = x + 1; y < 1000; y++) {
			prost = true;
			for (int i = 2; i < y && prost == true; i++)
				if (y % i == 0)
					prost = false;
			if (prost == true) {
				xgore = y;
				break;
			}
		}
		for (int y = x - 1; y > 1; y--) {
			prost = true;
			for (int i = 2; i < y && prost == true; i++)
				if (y % i == 0)
					prost = false;
			if (prost == true) {
				xdole = y;
				break;
			}
		}
		if (xgore - x < x - xdole)
			System.out.print("Najblizi prost broj: " + xgore);
		if (xgore - x > x - xdole)
			System.out.print("Najblizi prost broj: " + xdole);
		if (xgore - x == x - xdole)
			System.out.print("Jednako blizu prosti brojevi su: " + xgore + " i " + xdole);
	}
}

Ispis na ekranu:

Riješeni zadaci    Index