結果

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

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 25 ms
24,364 KB
testcase_01 AC 24 ms
24,028 KB
testcase_02 AC 24 ms
25,952 KB
testcase_03 AC 26 ms
25,992 KB
testcase_04 AC 25 ms
26,068 KB
testcase_05 AC 25 ms
25,936 KB
testcase_06 AC 24 ms
26,116 KB
testcase_07 AC 25 ms
25,864 KB
testcase_08 AC 24 ms
23,904 KB
testcase_09 AC 25 ms
26,072 KB
testcase_10 AC 25 ms
24,084 KB
testcase_11 AC 25 ms
25,940 KB
testcase_12 AC 24 ms
23,852 KB
testcase_13 AC 25 ms
21,940 KB
testcase_14 AC 24 ms
24,032 KB
testcase_15 AC 25 ms
23,772 KB
testcase_16 AC 24 ms
24,028 KB
testcase_17 AC 25 ms
23,980 KB
testcase_18 AC 24 ms
26,124 KB
testcase_19 AC 24 ms
24,084 KB
testcase_20 AC 24 ms
23,984 KB
testcase_21 AC 25 ms
26,000 KB
testcase_22 AC 24 ms
24,240 KB
testcase_23 AC 24 ms
24,108 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