题解 | rin和快速迭代
rin和快速迭代
https://www.nowcoder.com/practice/a797241b43f34ed4a9ef6018747c30b1
#include <stdio.h>
int divisor(long long x) {
double a = 2.0;
int i = 1;
int count = 0;
while (i < a) {
// printf("i=%d", i);
a = (double)x / i;
if (a == i) {
count++;
}
else if (x % i == 0) {
count += 2;
}
i++;
// printf("a=%lf\n", a);
}
// printf("count=%d\n", count);
return count;
}
int main() {
long long n = 0;
int count = 0;
scanf("%lld", &n);
while (2 != n) {
n = divisor(n);
count++;
}
printf("%d", count);
return 0;
}

查看12道真题和解析