Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #define ll long long
- int getValueLen(const ll a);
- int getMax(const int a, const int b);
- int main(){
- /*入力*/
- ll n;
- scanf("%lld",&n);
- /*初期設定*/
- ll finalAns;
- finalAns = getValueLen(n);
- /*約数A及びBの探索*/
- for(ll a=1; a*a<=n;a++){
- if(n % a != 0) continue;
- const ll b = n / a;
- const int cmpResult = getMax(getValueLen(a), getValueLen(b));
- if(finalAns > cmpResult) finalAns = cmpResult;
- }
- printf("%lld",finalAns);
- return 0;
- }
- int getValueLen(const ll a){ /*Needn'tFix*/
- char setStrA[a];
- /*aの桁数の取得*/
- sprintf(setStrA, "%lld", a);
- int lengthA = strlen(setStrA);
- return lengthA;
- }
- int getMax(const int a, const int b){ /*Needn'tFix*/
- if(a > b) return a;
- else return b;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement