トップページに戻る
次の競技プログラミングの問題へ
前の競技プログラミングの問題へ
ABC-039-B エージェント高橋君
■■■問題■■■
TK国のエージェントである高橋君は、とある正整数Xを青木君から受け取りました。
しかし実は青木君はAO国のスパイであり、
本来渡すべき正整数を4乗したものを渡していました。
つまり、本来渡すべき正整数をNとすると、X= (Nの4乗) です。
高橋君は非常に優秀なのでこれを見破りましたが、
計算が苦手なので元の正整数、つまりNはなんだったのかがわかりません。
なので代わりにあなたがNを求めてください。
■■■入力■■■
X
●1 <= X <= 10億
●X=(Nの4乗) となるNが ただ一つのみ存在する
■■■出力■■■
1行にNを出力せよ。
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("1");
//1
}
else if (InputPattern == "Input2") {
WillReturn.Add("981506241");
//177
}
else if (InputPattern == "Input3") {
WillReturn.Add("390625");
//25
}
else {
string wkStr;
while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
}
return WillReturn;
}
static void Main()
{
List<string> InputList = GetInputList();
int X = int.Parse(InputList[0]);
for (int I = 1; I * I * I * I <= X; I++) {
if (I * I * I * I == X) {
Console.WriteLine(I);
break;
}
}
}
}
解説
1からのForループで、4乗を順次計算してます。