Skip to content

Commit abcb102

Browse files
authored
Merge pull request #258 from myoshi2891/dev-from-macmini
Address code review feedback for Best Divisor
2 parents fb03839 + 28d40da commit abcb102

2 files changed

Lines changed: 299 additions & 414 deletions

File tree

Mathematics/Fundamentals/HackerRank/Claude/Easy/Best Divisor/BestDivisor.html

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<title>Best Divisor - √n約数列挙+桁和比較</title>
77

88
<!-- Tailwind CSS -->
9-
<script src="https://cdn.tailwindcss.com"></script>
9+
<script src="https://cdn.tailwindcss.com" crossorigin="anonymous"></script>
1010

1111
<!-- Google Fonts -->
1212
<link rel="preconnect" href="https://fonts.googleapis.com" />
@@ -20,14 +20,20 @@
2020
<link
2121
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css"
2222
rel="stylesheet"
23+
integrity="sha512-vswe+cgvic/XBoF1OcM/TeJ2FW0OofqAVdCZiEYkd6dwGXthvkSFWOoGGJgS2CW70VK5dQM5Oh+7ne47s74VTg=="
24+
crossorigin="anonymous"
2325
/>
2426
<link
2527
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.css"
2628
rel="stylesheet"
29+
integrity="sha512-cbQXwDFK7lj2Fqfkuxbo5iD1dSbLlJGXGpfTDqbggqjHJeyzx88I3rfwjS38WJag/ihH7lzuGlGHpDBymLirZQ=="
30+
crossorigin="anonymous"
2731
/>
2832
<link
2933
href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/toolbar/prism-toolbar.min.css"
3034
rel="stylesheet"
35+
integrity="sha512-Dqf5696xtofgH089BgZJo2lSWTvev4GFo+gA2o4GullFY65rzQVQLQVlzLvYwTo0Bb2Gpb6IqwxYWtoMonfdhQ=="
36+
crossorigin="anonymous"
3137
/>
3238

3339
<style>
@@ -284,7 +290,12 @@ <h3 class="text-lg font-bold text-slate-700 mb-3">📖 フローチャートの
284290
style="max-width: 100%; height: auto; color: #333"
285291
role="img"
286292
aria-label="Best Divisor flowchart"
293+
aria-describedby="flowchart-desc"
287294
>
295+
<title>Best Divisor アルゴリズムのフローチャート</title>
296+
<desc id="flowchart-desc">
297+
√n約数列挙アルゴリズムの処理フローを示す図。入力から約数列挙、桁和計算、最良約数選択までの9ステップを視覚化しています。
298+
</desc>
288299
<defs>
289300
<!-- 矢印マーカー(大きめに調整) -->
290301
<marker
@@ -1203,11 +1214,31 @@ <h3 class="text-xl font-bold text-teal-800 mt-8 mb-3">具体例での計算量</
12031214
<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
12041215

12051216
<!-- Prism.js -->
1206-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
1207-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-python.min.js"></script>
1208-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"></script>
1209-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/toolbar/prism-toolbar.min.js"></script>
1210-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"></script>
1217+
<script
1218+
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"
1219+
integrity="sha512-7Z9J3l1+EYfeaPKcGXu3MS/7T+w19WtKQY/n+xzmw4hZhJ9tyYmcUS+4QqAlzhicE5LAfMQSF3iFTK9bQdTxXg=="
1220+
crossorigin="anonymous"
1221+
></script>
1222+
<script
1223+
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-python.min.js"
1224+
integrity="sha512-AKaNmg8COK0zEbjTdMHJAPJ0z6VeNqvRvH4mfRRWDO9CMxRqi0BlcjWXELn7AbfCvLsZ/SBv8kNEGZOJVdWRCQ=="
1225+
crossorigin="anonymous"
1226+
></script>
1227+
<script
1228+
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/line-numbers/prism-line-numbers.min.js"
1229+
integrity="sha512-BttltKXFyWnGZQcRWj6osIg7lbizJchuAMotOkdLxHxwt/Hyo+cl47bZU0QADg+Qt5DJwni3SbYGXeGMB5cBcw=="
1230+
crossorigin="anonymous"
1231+
></script>
1232+
<script
1233+
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/toolbar/prism-toolbar.min.js"
1234+
integrity="sha512-st608h+ZqzliahyzEpETxzU0f7z7a9acN6AFvYmHvpFhmcFuKT8a22TT5TpKpjDa3pt3Wv7Z3SdQBCBdDPhyWA=="
1235+
crossorigin="anonymous"
1236+
></script>
1237+
<script
1238+
src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js"
1239+
integrity="sha512-/kVH1yrq7ajXhLpvjMxXJqPp6R9w7bqCjW5xhPjGAJTo9JTlx2NjQnM4+Q8dWmjJoMTaYVm7/ZqfqbWLGz+CIQ=="
1240+
crossorigin="anonymous"
1241+
></script>
12111242

12121243
<!-- React Component -->
12131244
<script type="text/babel">
@@ -1340,7 +1371,7 @@ <h3 class="text-xl font-bold text-teal-800 mt-8 mb-3">具体例での計算量</
13401371
>
13411372
<defs>
13421373
<marker
1343-
id="arrow"
1374+
id="step-arrow"
13441375
markerWidth="10"
13451376
markerHeight="10"
13461377
refX="9"
@@ -1976,7 +2007,7 @@ <h3 class="text-xl font-bold text-teal-800 mt-8 mb-3">具体例での計算量</
19762007
stroke="#64748b"
19772008
strokeWidth="3"
19782009
fill="none"
1979-
markerEnd="url(#arrow)"
2010+
markerEnd="url(#step-arrow)"
19802011
/>
19812012
<text
19822013
x="295"
@@ -2100,7 +2131,7 @@ <h3 class="text-xl font-bold text-teal-800 mt-8 mb-3">具体例での計算量</
21002131
return () => {
21012132
if (timerRef.current) clearTimeout(timerRef.current);
21022133
};
2103-
}, [isPlaying, activeStep]);
2134+
}, [isPlaying, activeStep, stepsData.length]);
21042135

21052136
const handlePlay = () => {
21062137
if (isPlaying) return;

0 commit comments

Comments
 (0)