w tym artykule nauczymy się znajdować Magic Number
używając Javy.
najpierw zrozumiemy, czym jest magiczna liczba?
co to jest Liczba Magiczna?
liczba, która pozostawia 1 w wyniku po sekwencji kroków i w każdym kroku liczbę zastępuje się sumą jej cyfr. Na przykład, jeśli Sprawdzimy, czy 163 jest liczbą magiczną, to sekwencja kroków jest
Step 1:
1+6+3 = 10 // suma kwadratów każdej cyfry
Step 2:
1+0 = 1 (Liczba Magiczna)
aby obliczyć liczbę magiczną, mamy dwa podejścia albo przy użyciu metody rekurencyjnej, albo prostej logiki skróconej. Zobaczmy przykłady.
algorytm liczby magicznej
Step 1:
weź dwie zmienne, sum
do przechowywania sumy kwadratu i number
do przechowywania wartości.
Step 2:
powtórz, aż number
jest większe niż 0 lub sum
jest większe niż 9.
Step 3:
jeśli number
jest równe 0, zastąp liczbę cyframi sum
i ustaw sum
= 0.
Step 4:
Oblicz sum
każdej cyfry obecnej w number
i dodaj ją do zmiennej sum
.
Step 5:
jeśli wynik sum
jest równy 1, to number
jest liczbą magiczną.
Step 6:
w przeciwnym razie number
nie jest liczbą magiczną.
przykład znalezienia magicznej liczby
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
|
public class Main{
public static void main (String args) {
int number = 1000; // Liczba do sprawdzenia
int sum = 0;
while (number > 0 / / suma > 9)
{
if (Liczba == 0)
{
liczba = suma;
suma = 0;
}
suma + = liczba % 10;
liczba /= 10;
}
// If sum = 1, jest to liczba magiczna
if (sum == 1) {
System.Wynocha.println („jest to magiczna liczba”);
}else {
System.Wynocha.println („to nie jest magiczna liczba”);
}
}
}
|
wyjście:
kolejny przykład znalezienia magicznej liczby
istnieje inne podejście do znalezienia magicznej liczby. W tym podejściu możemy otrzymać liczbę magiczną po podzieleniu liczby przez 9. Jest to metoda skrótu do weryfikacji liczby magicznej. Jeśli otrzymamy resztę 1 po podzieleniu liczby przez 9, to liczba jest liczbą magiczną. Opiera się na koncepcji Zasady podzielności 9, która mówi, że jeśli liczba jest podzielna przez 9, to suma jej wszystkich cyfr jest również podzielna przez 9. Dodanie 1 do pierwotnej liczby zwiększy ostateczną wartość o 1, czyniąc ją 10, a ostateczną sumą będzie 1, co sprawia, że liczba jest liczbą magiczną. Zobacz przykład poniżej.
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public class Main{
public static void main (String args) {
int number = 10001; / / Number to check
if(number % 9 == 1) {
System.Wynocha.println („jest to magiczna liczba”);
}else {
System.Wynocha.println („to nie jest magiczna liczba”);
}
}
}
|
wyjście
to wszystko o magicznej liczbie w Javie.