Advertisement
Guest User

aa

a guest
Feb 21st, 2020
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.87 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. #define ll long long
  5.  
  6. int getValueLen(const ll a);
  7. int getMax(const int a, const int b);
  8.  
  9. int main(){
  10.     /*入力*/
  11.     ll n;
  12.     scanf("%lld",&n);
  13.     /*初期設定*/
  14.     ll finalAns;
  15.     finalAns = getValueLen(n);
  16.     /*約数A及びBの探索*/
  17.     for(ll a=1; a*a<=n;a++){
  18.         if(n % a != 0)  continue;
  19.         const ll b = n / a;
  20.         const int cmpResult = getMax(getValueLen(a), getValueLen(b));
  21.         if(finalAns > cmpResult)    finalAns = cmpResult;
  22.     }
  23.     printf("%lld",finalAns);
  24.     return 0;
  25. }
  26. int getValueLen(const ll a){ /*Needn'tFix*/
  27.     char setStrA[a];
  28.     /*aの桁数の取得*/
  29.     sprintf(setStrA, "%lld", a);
  30.     int lengthA = strlen(setStrA);
  31.    
  32.     return lengthA;
  33. }
  34. int getMax(const int a, const int b){ /*Needn'tFix*/
  35.     if(a > b)   return a;
  36.     else        return b;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement