結果

問題 No.47 ポケットを叩くとビスケットが2倍
ユーザー velfare_nagatavelfare_nagata
提出日時 2016-10-03 21:47:26
言語 C#(csc)
(csc 3.9.0)
結果
AC  
実行時間 25 ms / 5,000 ms
コード長 1,478 bytes
コンパイル時間 2,135 ms
コンパイル使用メモリ 107,160 KB
実行使用メモリ 26,076 KB
最終ジャッジ日時 2024-11-21 15:21:34
合計ジャッジ時間 3,252 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 23 ms
23,904 KB
testcase_01 AC 24 ms
26,076 KB
testcase_02 AC 24 ms
23,908 KB
testcase_03 AC 23 ms
25,948 KB
testcase_04 AC 24 ms
25,860 KB
testcase_05 AC 24 ms
23,940 KB
testcase_06 AC 24 ms
21,940 KB
testcase_07 AC 24 ms
25,872 KB
testcase_08 AC 23 ms
23,812 KB
testcase_09 AC 24 ms
25,816 KB
testcase_10 AC 23 ms
23,852 KB
testcase_11 AC 23 ms
23,780 KB
testcase_12 AC 23 ms
23,648 KB
testcase_13 AC 23 ms
23,772 KB
testcase_14 AC 24 ms
23,852 KB
testcase_15 AC 24 ms
26,072 KB
testcase_16 AC 24 ms
25,732 KB
testcase_17 AC 23 ms
25,864 KB
testcase_18 AC 23 ms
25,812 KB
testcase_19 AC 23 ms
23,980 KB
testcase_20 AC 24 ms
25,748 KB
testcase_21 AC 23 ms
25,860 KB
testcase_22 AC 24 ms
23,812 KB
testcase_23 AC 25 ms
23,596 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc)
Copyright (C) Microsoft Corporation. All rights reserved.

ソースコード

diff #

using System;
using System.Diagnostics;

namespace CodeIq
{
	internal class Program
	{
		///<summary>
		/// Saraは、「ふしぎなポケット」を手に入れた。
		///
		/// 「ふしぎなポケット」は、いくつかビスケットを入れて叩くと、入れたビスケットの数が2倍になる。
		/// Saraは最初1枚のビスケットを持っていて、「ふしぎなポケット」を使ってちょうどN枚のビスケットにして、全部食べたいと思っている。
		/// (食べきれないので枚数をオーバーしてはいけない)
		/// 
		/// この時、ちょうどN枚にするには、Saraは最低何回ポケットを叩く必要があるか求めてください。
		/// </summary>
		private static void Main()
		{
			// パラメータ取得
			var line = Console.ReadLine();
			//var line = "3";
			if( string.IsNullOrEmpty( line ) )
				return;
			var paramData = line.Split( ' ' );
			var n = int.Parse( paramData[0] );

			// クッキーの数がNを超過しないように都度「ふしぎなポケット」にクッキーを入れられるだけ入れて叩く
			var cookieCount = 1;
			var hitCount = 0;
			while( cookieCount != n )
			{
				var wantCookieCount = ( n - cookieCount );
				var pocket = ( wantCookieCount < cookieCount ) ? wantCookieCount : cookieCount;
				cookieCount += pocket;
				hitCount++;
			}

			Debug.Print( hitCount.ToString() );
			Console.WriteLine( hitCount );
		}
	}
}
0