ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

AtCoder Beginner Contest 156 B - Digits

引っ越し作業などで久しぶりの更新になってしまいました、ねむーです。

今回はAtCoder(https://atcoder.jp/contests/abc156/tasks/abc156_b)にて開催されました、AtCoder Beginner Contest 156 B問題「B - Digits」の問題と僕との戦闘記です。

0.はじめに

今回も、プログラミング言語C#を使用しています。

1.問題文

整数 N を K 進数で表したとき、何桁になるかを求めてください。

2.制約

  • 入力は全て整数である。
  • 1 ≤ N ≤ 109
  • 2 ≤ K ≤ 10

3.入出力例

  • 入力
314159265 3
  • 出力
18

4.初見の感想

  • X桁で表せる最大数はKXで表せる
  • NとKXのどちらが大きいか判定する
  • Kをwhile文で何回も掛け合わせる

5.コードと簡単な解説

using System;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] input=Console.ReadLine().Split();
            int N=int.Parse(input[0]);
            int K=int.Parse(input[1]);
            int temp=1;
            int num=0;
            while(temp<=N){
//num桁で表せる最大数tempを計算
                temp*=K;
                num++;
            }
            Console.WriteLine(num);
        }
    }
}

6.最後に

自分のペースでがんばります…