トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
No.354 メルセンヌ素数
■■■問題■■■
2016年1月に歴代最大のメルセンヌ素数(49個目)が発見されました
メルセンヌ素数とは (2のp乗)-1 の形で表すことのできる素数です
というわけで
メルセンヌ素数を2進数で表記したときの各桁の和(つまり1の数)を答えてください
■■■入力■■■
p
pはメルセンヌ素数(2のp乗)-1の指数部分(整数)
pは最大でも74207281
■■■出力■■■
与えられたメルセンヌ素数を2進数で表記したときの
各桁の和を答えてください
C#のソース
using System;
using System.Collections.Generic;
class Program
{
static string InputPattern = "InputX";
static List<string> GetInputList()
{
var WillReturn = new List<string>();
if (InputPattern == "Input1") {
WillReturn.Add("2");
//2
}
else {
string wkStr;
while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
}
return WillReturn;
}
static void Main()
{
List<string> InputList = GetInputList();
Console.WriteLine(InputList[0]);
}
}
解説
2のべき乗から1を引いてますので、
2進数での桁数が解となります。