トップページに戻る
   次の競技プログラミングの問題へ
   前の競技プログラミングの問題へ
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乗を順次計算してます。