結果
問題 |
No.634 硬貨の枚数1
|
ユーザー |
|
提出日時 | 2018-05-10 23:45:08 |
言語 | C (gcc 13.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 576 bytes |
コンパイル時間 | 401 ms |
コンパイル使用メモリ | 29,056 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-28 03:31:33 |
合計ジャッジ時間 | 3,250 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 RE * 2 |
other | AC * 59 WA * 4 RE * 12 |
ソースコード
#include<stdio.h> int sankaku(int k) { int num = k * (k + 1) / 2; return num; } int main(void) { int N; int tri[10000]; int k = 0; int m = 0; scanf("%d", &N); tri[0] = 0; for (int j = 1; tri[j-1] < 1000000; j++) { tri[j] = sankaku(j); } //1つか2つの三角数のどちらであるかを判定 do{ k++; if (N == tri[k]) { printf("1\n"); return 1; } m = k - 1; do{ m++; if (N == tri[k] + tri[m]) { printf("2\n"); return 2; } } while (N > tri[k] + tri[m]); } while (N > tri[k]); printf("3\n"); return 0; }