時計の針の角度計算機
3時30分の針の角度は90度ではなく75度です。時針は4に向かって動き続けているためです。時と分を入力すると、小さい方の角度と各針の位置が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 時
- 3
- 分
- 30
- 時針 (°)
- 105
- 分針 (°)
- 180
- 角度 (度)
- 75
時計の角度計算機は、古典的なパズルを正確な算術で解きます。12時間制のアナログ文字盤で時と分が与えられたとき、2本の針の間の小さい方の角度は何度でしょうか。時針は分の経過とともに動き続けるため、3時30分の答えは90度ではなく75度です。2つの数値を送信すると、各針の位置とその間の角度が返されます。結果は決定的で、呼び出しごとに完全に同一です。
素朴な答えが間違っている理由
3時30分の針の間の角度を尋ねると、多くの人は90度と答えます。分針は6を、時針は3を指し、文字盤の4分の1に見えるからです。しかし時針は次の時を待って止まっているわけではありません。
3時半にはすでに4に向かって半分まで進んでいます。したがって各針は正確な位置を占めます。分針は1分あたり6度進み、時針は1時間あたり30度に加えて1分あたり0.5度進みます。
3時30分では、時針は12から105度の位置にあり、分針は180度の位置にあり、実際の間隔は75度です。この時計の角度計算機はまさにこのモデルを適用するため、結果は一般的な近似ではなく真の幾何学的な答えになります。同じ理屈で有名なケースはすべて説明できます。
6時00分では針は180度で正反対に、12時00分では0度で重なり、9時15分では時針が10に向かって4分の1進んでいるため、180度ではなく172.5度になります。
角度の計算方法
ソルバーは各入力を、12の位置から時計回りに度で測った位置に変換します。分針の位置は単純に分の値の6倍で、60分で360度全体をカバーします。時針の位置は時の30倍(12が0として扱われるよう12で剰余を取ります)に1分あたり0.5度を加えたものです。
12時間でちょうど1周するからです。これら2つの位置の絶対差が、一方向に針から針へと掃引される弧を与えます。その弧と360との補角の小さい方を取ると、常に0度以上180度以下の小さい方の角度が得られます。
実際の用途への組み込み方
面接対策プラットフォームは、古典的な時計パズルへの候補者の回答を自動的に採点するために使用します。時刻を送信し、候補者の式を正確な値と比較するだけです。教育サイトやワークシートは問題と解答を大量に生成し、各針の位置が含まれるため、各演習の横に図を描くことができます。
ゲームやパズルのバックエンドは、各クライアントで式を再実装せずに、サーバー側でユーザーの回答を検証します。入力は2つの数値、出力は小さなオブジェクトなので、1,000件のチェックをまとめて実行しても、費用は1セントのほんの一部のままです。
活用例
面接パズルを自動採点する
時計の角度問題に対する候補者の式を、任意の時と分について正確な値とサーバー側で比較します。
解答付きワークシートを生成する
時計の読み取り演習を大量に作成します。各針の位置が含まれるため、図と答えの一貫性が保たれます。
ゲームやクイズの回答を検証する
解法ロジックをクライアントに公開せずに、針の間の角度に関するプレイヤーの回答を検証します。
よくある質問
どちらの角度が返されますか?
常に2本の針の間の小さい方の角度で、0度以上180度以下です。大きい方の角度が返されることはありません。
時針は分とともに動きますか?
はい。 時針は1分あたり0.5度進むため、3時30分の角度は90度ではなく75度です。
結果は決定的ですか?
完全に決定的です。 ネットワーク、システム時計、乱数は一切関与せず、同じ入力には常にバイト単位で同一の出力が返されます。
24時間制の時刻を渡せますか?
時は12時間制の文字盤に換算して渡してください。15時20分は時3、分20として送信します。12を超える時の値は拒否されます。
9時15分の時計の針の角度は何度ですか?
172.5度です。時針は9から10の方へ4分の1進んでいるため、ちょうど180度にはなりません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/clock-angle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hour":3,"minute":30}'const res = await fetch("https://api.kit.forhosting.com/math/clock-angle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hour": 3,
"minute": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/clock-angle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hour": 3,
"minute": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/clock-angle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hour":3,"minute":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hour":3,"minute":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/clock-angle", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"hour": 3,
"minute": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.clock_angle",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
同じコードがブラウザでは無料で、有料APIエンドポイントとしても動作しますので、テストした結果がそのまま公開する結果になります。
角度の計算方法
入力の検証は厳格です。 時は12時間制の文字盤で1から12まで、分は0から59までの範囲内でなければならず、それらの範囲外の値は計算の前に明確なinvalid_inputエラーで拒否されます。結果は小数点以下12桁に丸められ、JSON出力がマシンや言語をまたいでバイト単位で安定するようになっています。
実際の用途への組み込み方
このエンドポイントは小さく、高速で、完全に決定的であり、どこにでも簡単に組み込めます。各呼び出しの料金は$0.002で、単位あたりの追加料金はありません。
技術的な質問
料金はいくらですか?
1リクエスト$0.002です。このページではブラウザで無料でも実行できます。
受け付けられる入力範囲は?
時は12時間制の文字盤で1から12、分は0から59です。これらの範囲外の値はinvalid_inputエラーで拒否されます。