年齢比計算機
今の年齢比が2:1で、5年後に3:2になるなら、2人は今10歳と5歳です。2つの比と年数を入れるだけで、宿題や試験の答え合わせに使える現在と将来の年齢が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 比率の1つ目
- 2
- 比率の2つ目
- 1
- 将来の比率 1
- 3
- 将来の比率 2
- 2
- 比率に達するまでの年数
- 5
- 1人目の年齢
- 10
- 2人目の年齢
- 5
- その時の1人目の年齢
- 15
- その時の2人目の年齢
- 10
二人の年齢比の文章題を解きます。現在の比と k 年後の比から両方の現在年齢を求めます。無料で決定的、ブラウザ内で完結し、アカウントは不要です。計算は端末内に閉じます。
年齢比の問題のしくみ
よく出る試験問題では、2人の年齢が今はある比で、何年か後には別の比になると書かれ、それぞれの年齢を問われます。2:1のような比は年齢そのものではなく割合しか表さないので、2人の年齢を1つの未知の倍率のかけ算で表します。それぞれに同じ年数を足し、その組を将来の比と等しいとおくと、倍率についての1次方程式が1つできます。これを解いて倍率を掛け戻せば、2人の年齢が分かります。今が2:1、5年後が3:2なら、倍率は5で、年齢は10歳と5歳です。
答えが1つに決まらないとき
この方法が使えるのは、方程式の正の解がちょうど1つのときだけです。今の比と将来の比が同じだと年数が打ち消し合い、年齢が決まらないため、計算機は推測せずにその問題を受け付けません。2つの比のどの値も正の数である必要があります。また、2人の順番は両方の比でそろえてください。将来の比で入れ替えると、別の問題になってしまいます。結果は小数点以下10桁で丸められるので、年齢が整数にならない問題でも正確な値が表示されます。
境界条件と教育利用
非正の比と、年齢を不定にする平行比は拒否します。自動化スクリプトは表計算や数式処理系を入れずに同じ純粋関数を呼びます。実装は完全に決定的で、ティア A ではブラウザ無料、parse エンジン下で端末内に閉じて計算し、計算自体にネットワーク呼び出しはありません。
活用例
宿題と試験
古典的な年齢比の文章題を、安定して再現可能な答えで素早く確認できます。
自動化
表計算や CAS を入れずに、同じ純粋関数をスクリプトから呼べます。
よくある質問
無料ですか?
はい。 ティア A はアカウントなしでブラウザ内だけで動きます。
年齢比の問題は手でどう解きますか?
今の年齢を2tとtとおくと、5年後は2t + 5とt + 5です。この組を3:2と等しいとおくと簡単な方程式になり、tは5と求まるので、年齢は10歳と5歳です。
答えが出ないと表示されるのはなぜですか?
正の解がちょうど1つある問題だけを受け付けるためです。今の比と将来の比が同じだと年齢が1つに決まらず、比の値が0や負の数の場合も受け付けません。
将来の年齢も分かりますか?
はい、分かります。今の年齢と並んで、入力した年数がたった後の年齢も表示されます。今が2:1、5年後が3:2の例では、10歳と5歳が15歳と10歳になります。
何を入力すればよいですか?
今の比の2つの数、将来の比の2つの数、そして何年後かの年数の5つを入力します。2人の順番は、今の比と将来の比で同じにそろえてください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/age-ratio \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ratio1":2,"ratio2":1,"future_ratio1":3,"future_ratio2":2,"years":5}'const res = await fetch("https://api.kit.forhosting.com/math/age-ratio", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ratio1": 2,
"ratio2": 1,
"future_ratio1": 3,
"future_ratio2": 2,
"years": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/age-ratio",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ratio1": 2,
"ratio2": 1,
"future_ratio1": 3,
"future_ratio2": 2,
"years": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/age-ratio", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ratio1":2,"ratio2":1,"future_ratio1":3,"future_ratio2":2,"years":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ratio1":2,"ratio2":1,"future_ratio1":3,"future_ratio2":2,"years":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/age-ratio", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"ratio1": 2,
"ratio2": 1,
"future_ratio1": 3,
"future_ratio2": 2,
"years": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.age_ratio",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
代数で現在年齢を求める仕組み
比例を整理すると、尺度因子 t だけの一次方程式になり、一意の正の解があるか、不定として拒否されます。統計的な推測はなく、同じ算術がブラウザと有料エッジで動きます。
入力・出力と安定した契約
表示層はフォームの数字文字列を convert してから純粋な solve を呼べますが、核心はゴミを黙って NaN にしません。十桁の half-up 丸めで浮動小数ノイズがスナップショット試験を壊さないようにしています。必須項目は ratio1、ratio2、future_ratio1、future_ratio2、years です。いずれも有限数でなければならず、欠落や非数値は harness が照合できる英語の invalid_input になります。成功ペイロードは常に age1・age2・現在比のエコー・years・future_age1・future_age2 を含み、クライアントは項目名を推測せず UI 指標を結べます。
境界条件と教育利用
空オブジェクト、矛盾した範囲、IEEE-754 を溢す巨大な中間値は null ではなく明示エラーになります。
連携の活用例
授業デモ
無料ウィジェットと API に一致するゴールデン例で解法を示せます。
技術的な質問
ネットワークを呼びますか?
いいえ。parse エンジンが計算を端末内に保ちます。
入力が無効なときは?
明確な英語メッセージ付きの invalid_input を受け取ります。
結果は安定していますか?
はい。決定的な計算とゴールデン例が契約を固定します。
誰がこの能力を書いたのですか?
ForHosting KIT 工房の samurai です。