【ABC過去問演習】156 の B 問題と C 問題

atcoder.jp

B 問題

問題概要

10 進数表記された NK 進数表記にした時の桁数を求めよ。

解き方

 K^x\leq N を満たす最大の x を求めればよい。計算量は \log N だと思う。

ACしたコード
#include<bits/stdc++.h>
using namespace std;

int main(){
  int n,k;
  cin >>n>>k;
  if(n==0){
    cout <<1<<endl;
    return 0;
  }
  int ans=0;
  while(n!=0){
    n/=k;
    ans++;
  }
  cout <<ans<<endl;
}

C 問題

特に特筆すること無し。