Проблема состоит в том, чтобы найти число делителей числанайти количество чисел, которые имеют простое число факторов
экс
for 10
ANS = 4
так 1,2, 5,10 являются числами, которые являются делителями
т.е. они являются факторами
Constrain ts are num < = 10^6
Я внедрил код для того же, но получил TLE !!
вот мой код
int isprime[MAX];
void seive()
{
int i,
j;
isprime[0] = isprime[1] = 1;
for (i = 4; i < MAX; i += 2)
isprime[i] = 1;
for (i = 3; i * i < MAX; i += 2) {
if (!isprime[i]) {
for (j = i * i; j < MAX; j += 2 * i)
isprime[j] = 1;
}
}
}
int main()
{
seive();
int t;
long long num;
scanf("%d", & t);
while (t--) {
scanf("%lld", & num);
cnt = 0;
for (j = 1; j * j <= num; j++) {
if (num % j == 0) {
cnt++;
if (num/j != j)
cnt++;
}
printf("%lld\n", cnt);
}
return 0;
}
Может кто-нибудь помочь мне, чтобы оптимизировать его?
Я также искал об этом, но не получил никакого успеха.
Так что помогите ребятам.
красиво закодирован. : O кто-то отформатирует его –
Пожалуйста, правильно открепите свой код, чтобы мы могли его прочитать. – utdemir
Итак, на стороне плюса после многоголоджинга теперь я знаю, что такое «TLE» - предел времени превышен. –