Digits in Multiplication
Problem LinkSolution by Mr.Olimpia — 100 pts
Code / Notes
#include <bits/stdc++.h>
using namespace std;
int gcd(int a, int b) {
return gcd(a, b-a);
}
int pot(int a){
int p=1;
for(int i=0; p<10*a; i++){
if(p<a && a<10*p){
return i+1;
break;
}
else{
p=10*p;
}
}
}
int main() {
long long N;
cin >> N;
vector<int>divisores;
for(long long i=1; i*i<=N; i++){
if(N%i == 0){
divisores.push_back(i);
}
}
long long d = divisores[divisores.size()-1];
if(pot(d)>=pot(N/d)){
cout << pot(d);
}
else{
cout << pot(N/d);
}
// divisores.back()
// divisores[divisores.size()-1]
}
Last updated 3 weeks, 3 days ago