-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfactcont.html
More file actions
211 lines (191 loc) · 8.55 KB
/
factcont.html
File metadata and controls
211 lines (191 loc) · 8.55 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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
<!DOCTYPE html>
<html>
<head>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3421377502409298"
crossorigin="anonymous"></script>
<meta name="viewport" http-equiv="content-type"
content="width=device-width,initial-scale=1, maximum-scale=1.0, user-scalable=no; charset=utf-8">
<!-- 주소창 등의 웹 브라우저 UI를 표시하지 않기 -->
<meta name="apple-mobile-web-app-capable" content="yes">
<!-- 상태 바의 스타일을 지정 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<!-- 홈 화면에서 표시되는 앱 이름을 지정 -->
<meta name="apple-mobile-web-app-title" content="소수교">
<!-- 홈 화면에서 표시되는 앱 아이콘을 지정 -->
<link rel="apple-touch-icon" href="icons/icon-152x152.png">
<!-- 웹 앱 매니페스트를 읽어 들이기 -->
<link rel="manifest" href="manifest.json">
<!-- 서비스 워커를 등록 -->
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('sw.js')
.then((reg) => {
console.log('서비스 워커가 등록됨.', reg);
});
}
</script>
<title> 소인수분해 대회 </title>
<link rel="stylesheet" href="primefact.css">
<style>
button1 {
width: 6em;
margin: auto;
text-align: center;
font-size: large;
font-weight: 200%;
border: 2px solid white;
background-color: rgb(39, 39, 39);
color: white;
padding: 5px;
}
#btn {
text-align: center;
}
#btn :hover {
text-align: center;
border: 2px solid white;
color: #00FF00;
background-color: #272727;
}
p#note {
color: #ff0000;
font-size: 120%;
opacity: 1;
}
@media (max-width: 768px) {
p#note {
font-size: 0%;
}
}
p#result {
background-color: #272727;
color: #FFFFFF;
text-align: center;
font-size: 300%
}
p#result2 {
color: #00FF00;
text-align: center;
font-size: 210%
}
p#result3 {
color: #272727;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none
}
</style>
</head>
<script lang="Javascript">
function drawing() {
event.preventDefault();
document.getElementById("result").innerHTML = Math.floor(Math.random(1) * (900)) + 100;
var hintarray = ["HINT! 일의 자리 숫자가 0,2,4,6,8인 수는 2의 배수입니다!", "HINT! 각 자리의 수의 합이 3의 배수라면 3의 배수입니다!",
"HINT! 일의 자리 숫자가 0 또는 5라면 5의 배수입니다!", "HINT! 일의 자리 수의 2배를 나머지 자리의 수에서 뺀 결과가 7의 배수이면 7의 배수입니다!",
"HINT! 홀수 자리의 합과 짝수 자리의 합의 차가 11의 배수이면 11의 배수입니다!", "HINT! 일의 자리 수의 4배를 나머지 자리의 수에 더한 값이 13의 배수라면 13의 배수입니다!",
"HINT! 일의 자리 수의 5배를 나머지 자리의 수에서 뺀 값이 17의 배수이면 17의 배수입니다!", "HINT! 일의 자리 수의 2배를 나머지 자리의 수에 더한 값이 19의 배수라면 19의 배수입니다!",
"HINT! 일의 자리 수의 7배를 나머지 자리의 수에 더한 값이 23의 배수이면 23의 배수입니다!", "HINT! 일의 자리 수의 3배를 나머지 자리의 수에 더한 값이 29의 배수라면 29의 배수입니다!",
"HINT! 일의 자리 수의 3배를 나머지 자리의 수에서 뺀 값이 31의 배수이면 31의 배수입니다!", "HINT! 일의 자리부터 세 자리씩 나눠 묶은 수들을 더한 값이 37의 배수라면 37의 배수입니다!",
"HINT! 홀수라면 2의 배수가 아닙니다!"];
document.getElementById("note").innerHTML = hintarray[Math.floor(Math.random(1) * hintarray.length)];
document.getElementById("result2").innerHTML = "";
}
function drawing2() {
event.preventDefault();
n = parseInt(document.getElementById("result").innerHTML);
var plist = new Object();
var cnt = 0;
if (n <= 0 || !Number.isInteger(n)) {
document.getElementById("note").innerHTML = n;
return 0;
} else {
document.getElementById("result2").innerHTML = "";
document.getElementById("result3").innerHTML = "";
n = Math.floor(n);
}
var i = 2;
while (n % i == 0) {
cnt++;
n /= 2;
}
if (cnt != 0) {
plist[i] = cnt;
}
for (i = 3; i * i <= n; i += 2) {
cnt = 0;
while (n % i == 0) {
cnt++;
n /= i;
}
if (cnt != 0) {
plist[i] = cnt;
}
}
if (n > 1) {
plist[n] = 1;
}
var keys = Object.keys(plist);
for (var i = 0; i < keys.length - 1; i++) {
var j = keys[i];
document.getElementById("result2").innerHTML += j;
if (plist[j] > 1) {
document.getElementById("result2").innerHTML += "<sup>" + plist[j] + "</sup>";
}
document.getElementById("result2").innerHTML += " × ";
}
var last = keys[keys.length - 1];
document.getElementById("result2").innerHTML += last;
if (plist[last] > 1) {
document.getElementById("result2").innerHTML += "<sup>" + plist[last] + "</sup>";
}
//
for (var i = 0; i < keys.length - 1; i++) {
var j = keys[i];
for (var k = 0; k < plist[j]; k++) {
document.getElementById("result3").innerHTML += j + " x ";
}
}
for (var k = 0; k < plist[last] - 1; k++) {
document.getElementById("result3").innerHTML += last + " x ";
}
document.getElementById("result3").innerHTML += last;
if (document.getElementById("result").innerHTML === document.getElementById("result2").innerHTML) document.getElementById("result2").innerHTML = "야호 소수다!"
}
</script>
<body style="-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none">
<div id="nav_menu">
<div id="nav-item-left">
<b><a href="sosu.html" style="font-size: 140%; padding-left: 20px; padding-right: 20px;">소수교</a></b>
</div>
<div id="nav-item-mid">
<ul>
<li class="upper"><a href="index.html" style="font-size: 90%">소인수분해 계산기</a><!----></li>
<li class="activate upper"><a href="factcont.html" style="font-size: 90%">소인수분해 대회</a>
<ul class="dropdown-menu">
<li><a href="factcont.html">세 자리 수</a></li>
<li><a href="factcont2.html">네 자리 수</a></li>
</ul>
</li>
<li class="upper"><a href="name.html" style="font-size: 90%">이름 소인수분해</a><!----></li>
</ul>
</div>
<div id="nav-item-right" style="color: #FFFFFF;">
<p>MENU</p>
<button class="menu-button" type="button" style="padding-left: 20px; padding-right: 20px"><span></span><span></span><span></span></button>
</div>
</div>
<br><br><br>
<p id="problem">신나는 소인수분해 대결</p>
<p id="example">임의의 3자리 수가 나타납니다. <br>소인수분해 한 결과를 빠르게 맞춰보세요!</p>
<div id="btn">
<button1 id="randnum" value="수 뽑기" title="누르면 랜덤 숫자가 나타납니다." onclick="drawing()">수 뽑기</button1>
<button1 id="showans" value="정답 보기" title="누르면 소인수분해한 결과인 정답을 볼 수 있습니다." onclick="drawing2()">정답 보기</button1>
</div>
<p id="note"></p>
<p id="result"></p>
<p id="result2"></p>
<p id="result3"></p>
<p id="result4"></p>
</body>
</html>