23.1.23020150. Učitati trocifreni cijeli broj. Ispremještati mu cifre tako da se dobije najveći mogući broj sastavljen od te tri cifre. Npr. 476 ==> 764. Opis rješenja:
Listing programa:
/* 23020150 Generisati trocifreni cijeli broj. Ispremještati mu cifre tako da se dobije najveći mogući broj sastavljen od te tri cifre. Npr. 476 ==> 764. */
package Kombinovani;
import java.util.Scanner;
public class Zadatak {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int broj1 = (int) ((1000 - 100) * Math.random() + 100);
System.out.println("Slucajni broj je : " + broj1);
int x, y, z, a = 0, pom = 0;
z = broj1 % 10;
y = (broj1 % 100) / 10;
x = broj1 / 100;
if (x <= y) {
pom = x;
x = y;
y = pom;
}
if (x <= z) {
pom = x;
x = z;
z = pom;
}
if (y <= z) {
pom = y;
y = z;
z = pom;
}
a = 100 * x + 10 * y + z;
System.out.print("Najveći broj od ponuđenih cifara : " + a);
}
}
II varijanta
package Kombinovani;
import java.util.Scanner;
public class Zadatak {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int broj1 = (int) ((1000 - 100) * Math.random() + 100);
System.out.println("Slucajni broj je : " + broj1);
int x, y, z, a = 0;
z = broj1 % 10;
y = (broj1 % 100) / 10;
x = broj1 / 100;
if (x >= y && x >= z && y >= z)
a = broj1;
if (x >= y && x >= z && z >= y)
a = x * 100 + z * 10 + y;
if (y >= x && y >= z && x >= z)
a = 100 * y + 10 * x + z;
if (y >= x && y >= z && z >= x)
a = 100 * y + z * 10 + x;
if (z >= x && z >= y && x >= y)
a = 100 * z + x * 10 + y;
if (z >= x && z >= y && y >= x)
a = 100 * z + y * 10 + x;
System.out.print("Najveći broj od ponuđenih cifara : " + a);
}
}
Ispis na ekranu:
Slucajni broj je : 678
Najveći broj od ponuđenih cifara : 876
|
||||||||||||||||||
|