-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTask04.java
More file actions
121 lines (100 loc) · 3.41 KB
/
Task04.java
File metadata and controls
121 lines (100 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import javax.swing.*;
import java.util.Scanner;
public class Task04 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// Problem 1
System.out.println("Enter a natural number: ");
int natural = scan.nextInt();
boolean flag = false;
String message = String.format("Nontrivial divisors of " + natural + ": ");
for (int i = 2; i < natural; i++) {
if (natural % i == 0) {
flag = true;
}
}
if (flag == false) {
System.out.println("Number is prime!");
} else {
for (int i = 2; i < natural; i++) {
if (natural % i == 0) {
message += String.format(i + " ");
}
}
}
JOptionPane.showMessageDialog(null, message);
// Problem 2
System.out.println("Please enter a decimal number: ");
int number = scan.nextInt();
int remainder = 0;
int total = 0;
int exponent = 0;
while (number > 0) {
remainder = number % 2;
total += remainder * Math.pow(10, exponent);
number /= 2;
exponent++;
}
System.out.println(total);
while (total > 0) {
System.out.print((total % 10) + ", ");
total /= 10;
}
System.out.println();
// Problem 3
System.out.print("enter a natural number (0 if done): ");
number = scan.nextInt();
System.out.println();
int temporaryNumber = 0;
int maxDig = 0;
int biggestNumber = 0;
while (number != 0) {
temporaryNumber = number;
total = 0;
while (temporaryNumber > 0) {
remainder = temporaryNumber % 10;
total += remainder;
temporaryNumber /= 10;
}
if (total >= maxDig) {
maxDig = total;
biggestNumber = number;
}
System.out.print("enter a natural number (0 if done): ");
number = scan.nextInt();
System.out.println();
}
System.out.println("Max sum of digits was " + maxDig + " for " + biggestNumber);
// Problem 4
System.out.println("Please hold one number in your mind between 0 to 1 000 000! ");
System.out.println("'s' if number is smaller than the chosen number; ");
System.out.println("'b' if number is bigger than the chosen number; ");
System.out.println("'y' if number is equal the chosen number; ");
char equal;
int max = 1_000_000;
int min = 0;
int diff = 0;
int chosen = max / 2;
flag = true;
while (flag) {
System.out.println("Is this " + chosen + "?");
equal = scan.next().charAt(0);
switch (equal) {
case 's':
max = chosen;
diff = (max - min) / 2;
chosen -= diff;
break;
case 'b':
min = chosen;
diff = (max - min) / 2;
chosen += diff;
break;
case 'y':
System.out.println("Number that you think of is " + chosen + "!");
flag = false;
break;
}
}
}
}