結果
問題 |
No.47 ポケットを叩くとビスケットが2倍
|
ユーザー |
|
提出日時 | 2015-04-18 18:17:11 |
言語 | C90 (gcc 12.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 865 bytes |
コンパイル時間 | 567 ms |
コンパイル使用メモリ | 20,736 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-04 16:22:12 |
合計ジャッジ時間 | 883 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 2 |
other | AC * 20 WA * 1 |
コンパイルメッセージ
main.c: In function ‘main’: main.c:14:3: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 14 | scanf("%d", &N); | ^~~~~~~~~~~~~~~
ソースコード
#include <stdio.h> int set_pocket(int *pocket, int n); int get_pocket(int *pocket, int n); int strike_pocket(int *pocket); int count = 0; int main(int argc, char *argv[]) { int N; // N int pocket = 0; // num of bistcuit in pocket int hand = 0; // num of bistcuit in hand int gap; // residual quantity(N - pocket) scanf("%d", &N); set_pocket(&pocket, 1); while(1) { if (pocket == N) { break; } strike_pocket(&pocket); if (pocket*2 > N) { gap = N - pocket; hand = get_pocket(&pocket, pocket - gap); strike_pocket(&pocket); break; } } printf("%d", count); return 0; } int set_pocket(int *pocket, int n) { return (*pocket) = n; } int get_pocket(int *pocket, int n) { int ret = (*pocket); (*pocket) -= n; return n; } int strike_pocket(int *pocket) { count++; return (*pocket) *= 2; }