カロリーサイクリング・ジグザグ計画
週のカロリー予算を高い日と低い日に交互に分けます。週14000 kcalで振れ幅20%なら、高い日は2400 kcal、低い日は1466.7 kcalで、週の合計は14000のままです。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 週間カロリー
- 14,000
- ジグザグ (%)
- 20
- 精度
- 1
- 1日の平均 (kcal)
- 2,000
- 高カロリー日 (kcal)
- 2,400
- 低カロリー日 (kcal)
- 1,466.7
- 高カロリー日の数
- 4
カロリーサイクリング(いわゆるジグザグダイエット)は、週間のエネルギー予算を保ったまま摂取が多い日と少ない日を交互に置き、平均を目標に合わせます。コーチ、アプリ開発者、マクロを管理する方は、社交日の継続を楽にし、負荷の高いトレーニング日に燃料を足し、毎食が窮屈に感じられる平坦な日次赤字を避けるために用います。このカロリーサイクリング・ジグザグ計画ツールは週間カロリー合計と任意のジグザグ率を受け取り、決定的な7日計画を作ります。高日は週平均より一定率高く、低日は週合計が予算どおりになるよう解かれ、月曜から日曜まで交互になります。
ジグザグ週の計算方法
すでに信頼している週間カロリー合計(維持量×7、赤字計画、任意の固定予算)から始め、7で割って平坦な日次平均を得ます。ジグザグ率はその平均より高日を押し上げます。高日カロリーは平均に1+率/100を掛けた値です。
7日の交互パターンでは高日と低日の個数を同じにできないため、計画器はパターンが高スロットをいくつ作るか数え(週が高開始なら4、低開始なら3)、高個数×高カロリー+低個数×低カロリーが元の週合計と等しくなるよう低日カロリーを解きます。この恒等式が週を正直に保ちます。宴会日に余分なエネルギーを捏造せず、穏やかな日に予算を不足させません。
日は月曜から日曜まで kind が high または low、指定精度に丸めたカロリー付きでラベル付けされ、最終日が丸め残差を吸収して報告合計が週合計と一致し続けます。率が大きすぎて低日が0以下になる場合は、飢餓日を強いる計画を返す代わりに要求を拒否します。
カロリーサイクリング・ジグザグ計画が活きる場面
パーソナルトレーナーやオンラインコーチは、すでに合意した週次赤字を崩さず金曜の夕食を高くできるよう、ジグザグ週をクライアントの食事テンプレートへ書き出します。TDEE や単純赤字を既に計算するフィットネスアプリは、同じ週カロリーのまま買い物リストとプッシュ通知向けの日次目標を豊かにするため、本計画器を純粋な後段として呼び出せます。
高・低列を手で調整していた表計算利用者は、丸めが入り込むと週合計からずれなくなり、残差日の調整が合計を固定します。1日あたりのたんぱく質や炭水化物が必要なら独自のマクロ分割や食事生成と組み合わせてください。入力が非正やその他無効な場合、週を捏造しません。
活用例
コーチ向け週次クライアント計画
固定の週間カロリー予算を、合意したエネルギー合計を超えない高低交互の7目標に変換します。
フィットネスアプリの後処理
TDEE や赤字の計算後、ジグザグ計画器を呼び、買い物リストとリマインダー向けの決定的な日次摂取を出します。
よくある質問
低い日の下がり幅が、高い日の上がり幅より大きいのはなぜですか?
高い日から始まる週は、高い日が4日、低い日が3日になるためです。週14000 kcalで20%なら高い日は2400 kcalなので、合計を守るには低い3日を1466.7 kcalまで下げる必要があります。
低い日から週を始められますか?
できます。低い日から始めると高い日が3日、低い日が4日になり、7日間の合計がちょうど予算になるよう低い日の値を計算し直します。
最後の日だけ他の高い日と少し違うのはなぜですか?
端数の調整を最後の日で行い、週の合計を予算と正確に一致させるためです。週14000 kcalの例では、日曜日が2400ではなく2399.9 kcalになります。
振れ幅の割合に上限はありますか?
あります。低い日がゼロ以下になるほど大きな割合では、絶食の日を作らないよう計画を受け付けません。空欄のときは20%を使います。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/calorie-zigzag \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weekly_calories":14000}'const res = await fetch("https://api.kit.forhosting.com/health/calorie-zigzag", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weekly_calories": 14000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/calorie-zigzag",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weekly_calories": 14000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/calorie-zigzag", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weekly_calories":14000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weekly_calories":14000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/calorie-zigzag", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"weekly_calories": 14000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.calorie_zigzag",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効または非正の入力はカロリーを捏造せず invalid_input で失敗します。
入力契約・応答形・検証規則
false にすると低日から始まります。任意の precision は小数0〜6位の整数で既定1です。利便のため別名を受け付けます。weekly_calories を有限の正の数(7日分のキロカロリー予算)とする JSON 本文を POST します。任意の zigzag_percent は既定20で有限かつ正でなければならず、週平均に対する高日の上昇率です。任意の high_first は既定 true で1日目が高、週は high・low・high…と交互になります。weekly_kcal、week_calories、weekly_total、total_calories は週予算へ、percent、variation_percent、swing_percent、zigzag_pct は振れ幅へ、start_high と begin_high は high_first へ、decimals と dp は precision へ対応します。欠落フィールド、非有限値、非正の週合計、非正の率、低日を非正にするほど大きい振れはすべて invalid_input で失敗し課金されません。成功時は weekly_calories、zigzag_percent、high_first をエコーし、average_daily_kcal、high_day_kcal、low_day_kcal、high_day_count、low_day_count を報告し、day・label・kind・calories を持つ7オブジェクトの days 配列を返し、sum_kcal、formula、precision を含みます。例:週14000キロカロリー、20%、high_first true なら平均2000、高日2400、低日は高4・低3でなお14000になるよう解かれます。
カロリーサイクリング・ジグザグ計画が活きる場面
実装は純 parse の tier A のため、成功呼び出しはモデルトークンも外向きネットもなく公開の基本料金 $0.002 で、検証失敗は残高を消費しません。本エンドポイントはエネルギーのみを計画し、マクロ・レシピ・医学的助言は扱いません。
連携の活用例
コンテンツ用ウィジェットとデモ
SEO ランディングと製品スクリーンショット向けに、有料 API とバイト一致する無料ブラウザのカロリーサイクリングツールを駆動します。
技術的な質問
カロリーサイクリング・ジグザグ計画はどのように動きますか?
週間カロリー合計を7で割って平均とし、高日を zigzag_percent だけ平均より上げ、週が同じ合計になるよう低日を解き、月曜から日曜まで high と low を交互にします。
必須の入力は何ですか?
weekly_calories(有限の正)。任意:zigzag_percent(既定20)、high_first(既定true)、precision(既定1)。非正や無効な値は invalid_input を返します。
高低日は週間合計と一致したままですか?
はい。低日カロリーは週予算と高日水準から、丸め前に n_high×high + n_low×low が週合計と等しくなるよう解かれ、最終日が丸め残差を吸収します。
zigzag_percent が大きすぎるとどうなりますか?
低日が0以下になる場合、タスクは invalid_input で失敗します。各日が厳密に正になるよう率を下げてください。
カロリーサイクリング・ジグザグ計画の料金は?
ブラウザツールは無料です。API 要求は成功1回あたり $0.002 の前払い KIT 残高を使い、無効入力は課金されません。