'Programming'에 해당되는 글 65건
- 2020.04.22 MovingClock
- 2020.04.22 Box
- 2020.04.22 MagicSquare
- 2020.04.22 CharDiamond
- 2020.04.22 JosephusProblem
- 2020.04.22 SpiralNumber
- 2020.04.22 KaprekarNumber
- 2020.04.22 Kaprekar's Operation
- 2020.04.22 Ant
- 2020.04.22 Palindrome
- 2020.04.22 SelfNumber
- 2020.04.22 Puzzle
- 2020.04.22 TimeCheck
- 2020.04.22 MatrixMultiplication
- 2020.04.22 MatrixAddition
- 2020.04.22 Swap
- 2020.04.22 FrequencyDistribution
- 2020.04.22 ArraySubscript
- 2020.04.22 OddevenPlus
- 2020.04.22 SquareCalculation
- 2020.04.22 Ascii code
- 2020.04.22 CommonDivisor
- 2020.04.22 Divisor
- 2020.04.22 Gugudan
- 2020.04.22 A Snail's Story
- 2020.04.22 OddEven?
- 2020.04.22 Calculator
- 2020.04.22 Game
- 2020.04.22 PI
- 2020.04.22 Upper-LowerCase
마방진(magic square)
마방진이란 1에서 n^2까지의 정수를 n행 n열의 정사각형 모양으로 나열하여 가로·세로·대각선의 합이
전부 같아지도록 한 것입니다.
예)8 1 6
3 5 7
4 9 2
일정한 규칙에 따라 네모진 틀에서 마방진을 만들 때는 규칙대로 수를 써넣으면 되지만,
홀수방진과 짝수방진은 만드는 규칙이 다릅니다.
이 문제는 홀수 마방진만 출력하며 홀수 마방진에 대한 자세한 규칙은 검색을 이용하세요.
그 규칙에 따라 홀수 마방진 프로그램을 작성하시면 됩니다.
INPUT
9
OUTPUT
47 58 69 80 1 12 23 34 45
57 68 79 9 11 22 33 44 46
67 78 8 10 21 32 43 54 56
77 7 18 20 31 42 53 55 66
6 17 19 30 41 52 63 65 76
16 27 29 40 51 62 64 75 5
26 28 39 50 61 72 74 4 15
36 38 49 60 71 73 3 14 25
37 48 59 70 81 2 13 24 35
Josephus와 그의 동료들 N명(Josephus포함)이 식인종들에게 붙잡혔습니다.
이 식인종들은 포로들 중 한 명은 살려보내는 것이 전통입니다. 그 한 명을 선택하는 방법은 다음과 같습니다.
1. 포로들을 둥글게 세우고, 1번부터 N번까지 번호를 붙인다.
2. 1번부터 세기 시작하여 살아 있는 포로들 중 매번 K번째 위치에서 있는 포로를 처형한다.
3. 최후에 남은 한 명의 포로는 살려보낸다.
문제는 N명의 포로가 있고 매번 K번째 위치에 서 있는 포로를 잡아먹는다고 할 때,
최후에 살아 남을 수 있는 포로의 위치를 계산하는 것인데요.
13명의 포로들이 1번부터 13번 위치에 있을 때, 매번 3번째 위치에 있는 포로를 처형한다고 하면,
포로들은 다음의 순서대로 처형됩니다.
3, 6, 9, 12, 2, 7, 11, 4, 10, 5, 1, 8
따라서 13번째 위치에 서 있는 포로는 살 수 있습니다.
N과 K를 입력받아 선택되는 과정을 출력하고 살려보낼 사람이 누구인지 결정해야 합니다.
마지막 줄에 살려보낼 사람의 번호를 출력하세요. ( 2<= N,K <=1000 )
INPUT
200
8
OUTPUT
8 16 24 32 40 48 56 64 72 80
88 96 104 112 120 128 136 144 152 160
168 176 184 192 200 9 18 27 36 45
54 63 73 82 91 100 109 118 127 137
146 155 164 173 182 191 1 11 21 31
42 52 62 74 84 94 105 115 125 135
147 157 167 178 188 198 10 22 34 46
58 69 81 93 106 117 130 141 153 165
177 189 2 14 28 41 55 68 83 97
110 123 138 150 163 179 193 5 20 37
51 67 85 99 114 131 145 161 175 194
7 26 44 61 78 98 116 133 151 170
186 4 25 47 66 87 107 126 148 169
187 12 33 57 77 102 124 149 172 196
19 49 75 101 129 156 181 6 38 70
95 132 159 190 23 59 90 122 162 197
35 76 113 154 195 39 86 134 174 17
71 121 180 30 92 143 13 79 142 15
103 171 53 140 43 139 50 166 89 3
183 119 111 158 199 65 60 185 108
Live : 29
INPUT
10
OUTPUT
1 36 35 34 33 32 31 30 29 28
2 37 64 63 62 61 60 59 58 27
3 38 65 84 83 82 81 80 57 26
4 39 66 85 96 95 94 79 56 25
5 40 67 86 97 100 93 78 55 24
6 41 68 87 98 99 92 77 54 23
7 42 69 88 89 90 91 76 53 22
8 43 70 71 72 73 74 75 52 21
9 44 45 46 47 48 49 50 51 20
10 11 12 13 14 15 16 17 18 19
297x297 = 88209 인데 297은 88 + 209 <자리수 분할> 로 나타 낼 수 있으며,
999x999 = 998001 이고 999 는 998 + 001<자리수 분할>로 나타낼 수 있습니다.
이렇게 숫자를 곱하여 나온 결과를 자리수를 잘라 더하면 원본 숫자가 나오게 되는데 이를
인도의 수학자 Ramachandra Kaprekar가 발견하여 그의 이름을 따 "Kaprekar 수"로 불립니다.
1부터 30000사이의 Kaprekar 수를 구하고 곱하고 더하는 과정을 출력하세요.
OUTPUT
1 -> 1 => 0 + 1 = 1
9 -> 81 => 8 + 1 = 9
45 -> 2025 => 20 + 25 = 45
55 -> 3025 => 30 + 25 = 55
99 -> 9801 => 98 + 1 = 99
297 -> 88209 => 88 + 209 = 297
703 -> 494209 => 494 + 209 = 703
999 -> 998001 => 998 + 1 = 999
2223 -> 4941729 => 494 + 1729 = 2223
2728 -> 7441984 => 744 + 1984 = 2728
4950 -> 24502500 => 2450 + 2500 = 4950
5050 -> 25502500 => 2550 + 2500 = 5050
7272 -> 52881984 => 5288 + 1984 = 7272
7777 -> 60481729 => 6048 + 1729 = 7777
9999 -> 99980001 => 9998 + 1 = 9999
17344 -> 300814336 => 3008 + 14336 = 17344
22222 -> 493817284 => 4938 + 17284 = 22222
회생수(回生數)
100자리 → 4 9 5
1000자리 → 6 1 7 4
4 9 5 와 6 1 7 4 는 일종의 신비스러운 '회생숫자'입니다.
이 자연수는 인도 수학자인 D.R. Kaprekar 가 처음으로 연구한 후 커다란 주목을 불러 일으켰으며
미국의 권위 있는 "미국 수학 월간"에도 여러 차례 이 문제에 관해 논문을 발표하였습니다.
예) 입력수가 3861일때
- 큰 순으로 적으면 8631, 작은 순으로 적으면 1368 두 수의 차를 구하면 8631-1368 = 7263
- 결과값을 같은 방법으로 적용하면 7632-2367=5265, 다음은 3996, 6264, 4176, 6174
그 어떤 4자리수로 해도 결국은 6174란 답은 항상 나옵니다.
(1000부터 9998, 단 1111,2222,...8888 처럼 최대-최소=0 되는 수 제외)
※ Kaprekar 과정을 거치면 네자리는 6174 고정된 수가 나오고 세자리에서는 495가 있습니다.
4자리 정수를 입력 받아 6174가 나오는 과정을 출력하세요.
INPUT
1222
OUTPUT
1222 :
MAX : 2221, MIN : 1222
2221 - 1222 = 999
0999 :
MAX : 9990, MIN : 999
9990 - 999 = 8991
8991 :
MAX : 9981, MIN : 1899
9981 - 1899 = 8082
8082 :
MAX : 8820, MIN : 288
8820 - 288 = 8532
8532 :
MAX : 8532, MIN : 2358
8532 - 2358 = 6174
6174 :
END
베르나르베르베르 저 '개미'라는 책에 나오는 문제입니다.
1에서 시작하여 바로 위의 수열을 참조해서 숫자의 개수를 표현하는 방식입니다.
1
11 // 1이 1개
12 // 1이 2개
1121 // 1이 1개 2가 1개
122111 // 1이 2개 2가 1개 1이 1개
112213
12221131
1123123111
12213111213113
10번째 줄까지 나오도록 구현해보세요.
OUTPUT
1
11
12
1121
122111
112213
12221131
1123123111
12213111213113
11221131132111311231
컴퓨터 학자인 그루엔버거(F.Gruenverger)는 1984년에 미국 잡지 '사이언틱 아메리칸(Scientific American)' 에 실린
'컴퓨터 레크리에이션(Computer Recreations)'이라는 칼럼에서 제공한 알고리즘 이라고 합니다.
1. 숫자를 아무거나 고릅니다.
2. 그 수를 거꾸로 뒤집어요. (예를들어 13을 골랐다면 31)
그 다음 뒤집은 수를 원래 수에 더합니다. 13+31
3. 두 수를 더한 결과가 팰린드롬이 아니라면 2번으로 돌아가서 동일한 과정을 다시한번 반복합니다.
두 수를 더한 결과가 팰린드롬이라면 끝입니다.
- 팰린드롬(palindrome) - 회문자라고도 하며 앞으로 읽으나 뒤로 읽으나
같은 내용이 되는 문자나 문장입니다. 예) 33, 121, 다시합시다, ...
- 흥미로운 것은 196은 팰린드롬인지 아닌지 여부가 밝혀지지 않았답니다.
196입력하지 마시길...^^;
그루엔버거 알고리즘을 구현하는것이 이번 문제입니다.
INPUT
37
OUTPUT
before : 37
after : 73
37 + 73 = 110
before : 110
after : 011
110 + 11 = 121
before : 121
after : 121
Result : 121
넥슨 개발자용 입사지원 시험
어떤 자연수 n이 있을 때, d(n)을 n의 각 자릿수 숫자들과 n 자신을 더한 숫자라고 정의합니다.
예를 들어 d(91) = 9 + 1 + 91 = 101 이 때, n을 d(n)의 제네레이터(generator)라고 합시다.
위의 예에서 91은 101의 제네레이터입니다..
어떤 숫자들은 하나 이상의 제네레이터를 가지고 있는데, 101의 제네레이터는 91 뿐 아니라 100도 있습니다.
그런데 반대로, 제네레이터가 없는 숫자들도 있으며, 이런 숫자를 인도의 수학자 Kaprekar가
셀프 넘버(self-number)라 이름 붙였습니다.
예를 들어 1, 3, 5, 7, 9, 20, 31 은 셀프 넘버 들입니다.
1 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하세요.
(셀프 넘버들을 한줄에 15개씩 출력하고 마지막에 셀프 넘버들의 합을 출력하세요)
OUTPUT
1 3 5 7 9 20 31 42 53 64 75 86 97 108 110
121 132 143 154 165 176 187 198 209 211 222 233 244 255 266
277 288 299 310 312 323 334 345 356 367 378 389 400 411 413
424 435 446 457 468 479 490 501 512 514 525 536 547 558 569
580 591 602 613 615 626 637 648 659 670 681 692 703 714 716
727 738 749 760 771 782 793 804 815 817 828 839 850 861 872
883 894 905 916 918 929 940 951 962 973 984 995 1006 1021 1032
1043 1054 1065 1076 1087 1098 1109 1111 1122 1133 1144 1155 1166 1177 1188
1199 1210 1212 1223 1234 1245 1256 1267 1278 1289 1300 1311 1313 1324 1335
1346 1357 1368 1379 1390 1401 1412 1414 1425 1436 1447 1458 1469 1480 1491
1502 1513 1515 1526 1537 1548 1559 1570 1581 1592 1603 1614 1616 1627 1638
1649 1660 1671 1682 1693 1704 1715 1717 1728 1739 1750 1761 1772 1783 1794
1805 1816 1818 1829 1840 1851 1862 1873 1884 1895 1906 1917 1919 1930 1941
1952 1963 1974 1985 1996 2007 2022 2033 2044 2055 2066 2077 2088 2099 2110
2112 2123 2134 2145 2156 2167 2178 2189 2200 2211 2213 2224 2235 2246 2257
2268 2279 2290 2301 2312 2314 2325 2336 2347 2358 2369 2380 2391 2402 2413
2415 2426 2437 2448 2459 2470 2481 2492 2503 2514 2516 2527 2538 2549 2560
2571 2582 2593 2604 2615 2617 2628 2639 2650 2661 2672 2683 2694 2705 2716
2718 2729 2740 2751 2762 2773 2784 2795 2806 2817 2819 2830 2841 2852 2863
2874 2885 2896 2907 2918 2920 2931 2942 2953 2964 2975 2986 2997 3008 3023
3034 3045 3056 3067 3078 3089 3100 3111 3113 3124 3135 3146 3157 3168 3179
3190 3201 3212 3214 3225 3236 3247 3258 3269 3280 3291 3302 3313 3315 3326
3337 3348 3359 3370 3381 3392 3403 3414 3416 3427 3438 3449 3460 3471 3482
3493 3504 3515 3517 3528 3539 3550 3561 3572 3583 3594 3605 3616 3618 3629
3640 3651 3662 3673 3684 3695 3706 3717 3719 3730 3741 3752 3763 3774 3785
3796 3807 3818 3820 3831 3842 3853 3864 3875 3886 3897 3908 3919 3921 3932
3943 3954 3965 3976 3987 3998 4009 4024 4035 4046 4057 4068 4079 4090 4101
4112 4114 4125 4136 4147 4158 4169 4180 4191 4202 4213 4215 4226 4237 4248
4259 4270 4281 4292 4303 4314 4316 4327 4338 4349 4360 4371 4382 4393 4404
4415 4417 4428 4439 4450 4461 4472 4483 4494 4505 4516 4518 4529 4540 4551
4562 4573 4584 4595 4606 4617 4619 4630 4641 4652 4663 4674 4685 4696 4707
4718 4720 4731 4742 4753 4764 4775 4786 4797 4808 4819 4821 4832 4843 4854
4865 4876 4887 4898 4909 4920 4922 4933 4944 4955 4966 4977 4988 4999
Result : 1227365
PrimeNumber문제를 아직 풀지 않았다면 다음 문제로 넘어가세요.
소수를 구하는 함수를 만들어 프로그램이 수행을 시작하고난 후부터 소용된 프로세서의시간의 양측정 결과를 출력합니다.
(1~100000사이의 소수를 구해 출력한다.)
<구현의 예>
#include <time.h>
clock_t start, finish;
double t;
start = clock();
/* 소수 구하는 로직 위치 */
finish = clock();
t = ((double)finish-(double)start)/(double)CLK_TCK;
printf("%f sec",t);
아래 OUTPUT화면은 소수 출력결과의 끝부분만 가져온 결과 화면입니다.
INPUT
100000
OUTPUT
97553 97561 97571 97577 97579 97583 97607 97609 97613 97649
97651 97673 97687 97711 97729 97771 97777 97787 97789 97813
97829 97841 97843 97847 97849 97859 97861 97871 97879 97883
97919 97927 97931 97943 97961 97967 97973 97987 98009 98011
98017 98041 98047 98057 98081 98101 98123 98129 98143 98179
98207 98213 98221 98227 98251 98257 98269 98297 98299 98317
98321 98323 98327 98347 98369 98377 98387 98389 98407 98411
98419 98429 98443 98453 98459 98467 98473 98479 98491 98507
98519 98533 98543 98561 98563 98573 98597 98621 98627 98639
98641 98663 98669 98689 98711 98713 98717 98729 98731 98737
98773 98779 98801 98807 98809 98837 98849 98867 98869 98873
98887 98893 98897 98899 98909 98911 98927 98929 98939 98947
98953 98963 98981 98993 98999 99013 99017 99023 99041 99053
99079 99083 99089 99103 99109 99119 99131 99133 99137 99139
99149 99173 99181 99191 99223 99233 99241 99251 99257 99259
99277 99289 99317 99347 99349 99367 99371 99377 99391 99397
99401 99409 99431 99439 99469 99487 99497 99523 99527 99529
99551 99559 99563 99571 99577 99581 99607 99611 99623 99643
99661 99667 99679 99689 99707 99709 99713 99719 99721 99733
99761 99767 99787 99793 99809 99817 99823 99829 99833 99839
99859 99871 99877 99881 99901 99907 99923 99929 99961 99971
99989 99991
11.515000 sec
도수분포 [ frequency distribution, 度數分布 ]
측정값을 몇 개의 계급으로 나누고 각 계급에 속하는 수치의 출현 도수를
조사하여 나타낸 통계 자료의 분포 상태를 말합니다.
0~100까지 숫자 중 램덤으로 50개를 입력받아 출력한 후
10점 간격으로 구분하여 (0~9 , 10~19, 20~29, 30~39, 40~49, 50~59,
60~69, 70~79, 80~89, 90~99, 100) 도수분포를 나타내면 됩니다.
OUTPUT
===================================================
89 81 5 64 19 12 74 36 89 79
61 96 77 70 41 4 83 86 40 5
86 1 100 48 84 13 85 66 29 59
31 13 50 38 21 9 2 77 77 26
69 100 35 61 24 25 59 99 0 73
===================================================
0 ~ 9 : 7
10 ~ 19 : 4
20 ~ 29 : 5
30 ~ 39 : 4
40 ~ 49 : 3
50 ~ 59 : 3
60 ~ 69 : 5
70 ~ 79 : 7
80 ~ 89 : 8
90 ~ 99 : 2
100 : 2
-(1)² + 2² - (3)² + 4² - (5)² + 6² - (7)² + 8² - (9)² +....+100² 의 합을 구하는
프로그램을 while문을 이용하여 작성하세요.
출력 형식은 프로그램이 진행하면서 제곱수를 합해온 값과
제곱수를 더하는 방식으로 출력합니다.
OUTPUT
0 + -1= -1│ -1 + 4= 3│ 3 + -9= -6│
-6 + 16= 10│ 10 + -25= -15│ -15 + 36= 21│
21 + -49= -28│ -28 + 64= 36│ 36 + -81= -45│
-45 + 100= 55│ 55 + -121= -66│ -66 + 144= 78│
78 + -169= -91│ -91 + 196= 105│ 105 + -225= -120│
-120 + 256= 136│ 136 + -289= -153│ -153 + 324= 171│
171 + -361= -190│ -190 + 400= 210│ 210 + -441= -231│
-231 + 484= 253│ 253 + -529= -276│ -276 + 576= 300│
300 + -625= -325│ -325 + 676= 351│ 351 + -729= -378│
-378 + 784= 406│ 406 + -841= -435│ -435 + 900= 465│
465 + -961= -496│ -496 + 1024= 528│ 528 + -1089= -561│
-561 + 1156= 595│ 595 + -1225= -630│ -630 + 1296= 666│
666 + -1369= -703│ -703 + 1444= 741│ 741 + -1521= -780│
-780 + 1600= 820│ 820 + -1681= -861│ -861 + 1764= 903│
903 + -1849= -946│ -946 + 1936= 990│ 990 + -2025= -1035│
-1035 + 2116= 1081│ 1081 + -2209= -1128│ -1128 + 2304= 1176│
1176 + -2401= -1225│ -1225 + 2500= 1275│ 1275 + -2601= -1326│
-1326 + 2704= 1378│ 1378 + -2809= -1431│ -1431 + 2916= 1485│
1485 + -3025= -1540│ -1540 + 3136= 1596│ 1596 + -3249= -1653│
-1653 + 3364= 1711│ 1711 + -3481= -1770│ -1770 + 3600= 1830│
1830 + -3721= -1891│ -1891 + 3844= 1953│ 1953 + -3969= -2016│
-2016 + 4096= 2080│ 2080 + -4225= -2145│ -2145 + 4356= 2211│
2211 + -4489= -2278│ -2278 + 4624= 2346│ 2346 + -4761= -2415│
-2415 + 4900= 2485│ 2485 + -5041= -2556│ -2556 + 5184= 2628│
2628 + -5329= -2701│ -2701 + 5476= 2775│ 2775 + -5625= -2850│
-2850 + 5776= 2926│ 2926 + -5929= -3003│ -3003 + 6084= 3081│
3081 + -6241= -3160│ -3160 + 6400= 3240│ 3240 + -6561= -3321│
-3321 + 6724= 3403│ 3403 + -6889= -3486│ -3486 + 7056= 3570│
3570 + -7225= -3655│ -3655 + 7396= 3741│ 3741 + -7569= -3828│
-3828 + 7744= 3916│ 3916 + -7921= -4005│ -4005 + 8100= 4095│
4095 + -8281= -4186│ -4186 + 8464= 4278│ 4278 + -8649= -4371│
-4371 + 8836= 4465│ 4465 + -9025= -4560│ -4560 + 9216= 4656│
4656 + -9409= -4753│ -4753 + 9604= 4851│ 4851 + -9801= -4950│
-4950 + 10000= 5050│
Result : 5050
아스키코드(American Standard Code for information interchange)
미국에서 표준화가 추진된 정보교환용 7비트 부호로 PC를 중심으로 국제적으로 사용되며, 컴퓨터에서 처리하기 용이한 8비트
데이타를 이용하기 위하여 숫자, 문자, 특수문자에 번호를 부여한 것입니다.
33부터 126까지 아스키(Ascii)코드값에 대응되는 문자를 함께 출력하세요.
10개씩 출력 후 개행을 합니다.
OUTPUT
!( 33) "( 34) #( 35) $( 36) %( 37) &( 38) '( 39) (( 40) )( 41) *( 42)
+( 43) ,( 44) -( 45) .( 46) /( 47) 0( 48) 1( 49) 2( 50) 3( 51) 4( 52)
5( 53) 6( 54) 7( 55) 8( 56) 9( 57) :( 58) ;( 59) <( 60) =( 61) >( 62)
?( 63) @( 64) A( 65) B( 66) C( 67) D( 68) E( 69) F( 70) G( 71) H( 72)
I( 73) J( 74) K( 75) L( 76) M( 77) N( 78) O( 79) P( 80) Q( 81) R( 82)
S( 83) T( 84) U( 85) V( 86) W( 87) X( 88) Y( 89) Z( 90) [( 91) \( 92)
]( 93) ^( 94) _( 95) `( 96) a( 97) b( 98) c( 99) d(100) e(101) f(102)
g(103) h(104) i(105) j(106) k(107) l(108) m(109) n(110) o(111) p(112)
q(113) r(114) s(115) t(116) u(117) v(118) w(119) x(120) y(121) z(122)
{(123) |(124) }(125) ~(126)
1단부터 9단까지 출력하는 구구단을 프로그램을 작성해보세요.
단, 3개의 구구단이 한꺼번에 출력되어야 합니다.
OUTPUT
1 * 1 = 1 2 * 1 = 2 3 * 1 = 3
1 * 2 = 2 2 * 2 = 4 3 * 2 = 6
1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
1 * 4 = 4 2 * 4 = 8 3 * 4 = 12
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15
1 * 6 = 6 2 * 6 = 12 3 * 6 = 18
1 * 7 = 7 2 * 7 = 14 3 * 7 = 21
1 * 8 = 8 2 * 8 = 16 3 * 8 = 24
1 * 9 = 9 2 * 9 = 18 3 * 9 = 27
4 * 1 = 4 5 * 1 = 5 6 * 1 = 6
4 * 2 = 8 5 * 2 = 10 6 * 2 = 12
4 * 3 = 12 5 * 3 = 15 6 * 3 = 18
4 * 4 = 16 5 * 4 = 20 6 * 4 = 24
4 * 5 = 20 5 * 5 = 25 6 * 5 = 30
4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
4 * 7 = 28 5 * 7 = 35 6 * 7 = 42
4 * 8 = 32 5 * 8 = 40 6 * 8 = 48
4 * 9 = 36 5 * 9 = 45 6 * 9 = 54
7 * 1 = 7 8 * 1 = 8 9 * 1 = 9
7 * 2 = 14 8 * 2 = 16 9 * 2 = 18
7 * 3 = 21 8 * 3 = 24 9 * 3 = 27
7 * 4 = 28 8 * 4 = 32 9 * 4 = 36
7 * 5 = 35 8 * 5 = 40 9 * 5 = 45
7 * 6 = 42 8 * 6 = 48 9 * 6 = 54
7 * 7 = 49 8 * 7 = 56 9 * 7 = 63
7 * 8 = 56 8 * 8 = 64 9 * 8 = 72
7 * 9 = 63 8 * 9 = 72 9 * 9 = 81