소수의 인자를 가진 수 찾기

xyz

문제는 숫자의 제수를 찾는 것입니다.

전의-

for 10 

년 = 4

1,2,5,10은 제수이기 때문에

즉 그들은 요인입니다

제약은 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;

}

누군가 내가 그것을 최적화하도록 도울 수 있습니까?

나는 또한 그것에 대해 검색했지만 성공하지 못했습니다.

그러니 제발 도와주세요.

남자 이름

당신은 이것을 수학적으로 계산해 볼 수 있습니다 (나는 이것이 더 빠르거나 쉬울 것이라고 확신하지 않습니다). 기본적으로 숫자의 소인수 분해가 주어지면 너무 많은 문제없이 제수를 계산할 수 있어야합니다.

입력이 있으면 x다음과 같이 분해됩니다.

x = p1^a1 * p2^a2 * ... pn^an

그런 다음 제수는

prod(ai + 1) for i in 1 to n

그런 다음 가장 작은 소수 <sqrt (x)를 찾아서 소수만 남을 때까지 나누었습니다. 체가 여전히 유용 할 수 있으며 어떤 종류의 입력을 받게 될지 모르겠습니다.

이제 위의 진술이 말하는 것을 고려하십시오 : 소인수 분해의 거듭 제곱 (+1)의 곱에서 제수 수. 따라서 결과가 소수인지에만 신경을 쓴다면 소수 또는 소수의 거듭 제곱 인 숫자 만 고려해야합니다. 그리고 그 안에서 a1 + 1이 소수가되는 거듭 제곱 만 고려하면됩니다.

그러면 검색 공간이 크게 줄어들 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

6648031207514의 가장 큰 소인수 찾기

분류에서Dev

범위에서 10의 배수에 더해지는 자릿수를 가진 소수 찾기

분류에서Dev

숫자의 가장 큰 소인수를 찾으려고

분류에서Dev

주어진 제수를 가진 가장 가까운 더 높은 수 찾기

분류에서Dev

최대 평균 점수를 가진 작업자의 SQL 찾기 이름

분류에서Dev

C 큰 수의 소인수 찾기

분류에서Dev

JQuery-주어진 수의 형제가있는 요소 찾기

분류에서Dev

정규식을 사용하여 인수에 지정된 확장자를 가진 파일 찾기

분류에서Dev

녹색 가장자리가 짝수 인 최소 거리 찾기

분류에서Dev

k 개의 소수 자릿수로 잘린 소수 값 찾기

분류에서Dev

주어진 숫자의 제수이고 그 합이 최소 인 세 개의 숫자를 찾습니다.

분류에서Dev

두 숫자 사이의 범위를 가진 포인트 찾기

분류에서Dev

가장 큰 수의 색인 찾기

분류에서Dev

주어진 숫자를 만드는 데 필요한 최소 자릿수 찾기

분류에서Dev

소인수에서 숫자의 모든 요인 찾기

분류에서Dev

Allain의 Jumping into C ++ (ch7 # 3)에서 "소인수 합계가 소수 인 1에서 1000 사이의 숫자 찾기"출력 확인

분류에서Dev

소수 앞의 숫자가 0 일 때만 쿼리 반올림 소수 자리 찾기

분류에서Dev

SimpleCursorAdapter가 인수에서 내 목록의 사용자 정의보기를 찾을 수 없습니다-Android

분류에서Dev

JS-알 수없는 속성 수를 가진 객체의 2 개 배열 간의 차이점 찾기

분류에서Dev

합계가 m 인 부분 문자열의 수 찾기

분류에서Dev

OrderedList에서 주어진 매개 변수 I에 가장 가까운 더 큰 요소를 빠르게 찾기

분류에서Dev

주어진 정수까지 소수가 몇 개인 지 찾는 함수를 만듭니다.

분류에서Dev

상수가있는 열 값의 최소 차이를 찾기위한 SQL 쿼리

분류에서Dev

속성이 10 진수 인 경우 가장 높은 값을 가진 개체 속성 찾기

분류에서Dev

목록에있는 모든 숫자의 요소 인 가장 작은 정수 찾기

분류에서Dev

Rails 4, 태그 지정 가능 : 동일한 태그를 가진 사용자 수 찾기

분류에서Dev

지수가 10 진수이고 1보다 작은 지수를 찾기위한 거듭 제곱 함수

분류에서Dev

찾기를 사용하여 이름에 인쇄 할 수없는 문자가있는 파일 찾기

분류에서Dev

Javascript에서 정수의 최대 소인수 찾기

Related 관련 기사

  1. 1

    6648031207514의 가장 큰 소인수 찾기

  2. 2

    범위에서 10의 배수에 더해지는 자릿수를 가진 소수 찾기

  3. 3

    숫자의 가장 큰 소인수를 찾으려고

  4. 4

    주어진 제수를 가진 가장 가까운 더 높은 수 찾기

  5. 5

    최대 평균 점수를 가진 작업자의 SQL 찾기 이름

  6. 6

    C 큰 수의 소인수 찾기

  7. 7

    JQuery-주어진 수의 형제가있는 요소 찾기

  8. 8

    정규식을 사용하여 인수에 지정된 확장자를 가진 파일 찾기

  9. 9

    녹색 가장자리가 짝수 인 최소 거리 찾기

  10. 10

    k 개의 소수 자릿수로 잘린 소수 값 찾기

  11. 11

    주어진 숫자의 제수이고 그 합이 최소 인 세 개의 숫자를 찾습니다.

  12. 12

    두 숫자 사이의 범위를 가진 포인트 찾기

  13. 13

    가장 큰 수의 색인 찾기

  14. 14

    주어진 숫자를 만드는 데 필요한 최소 자릿수 찾기

  15. 15

    소인수에서 숫자의 모든 요인 찾기

  16. 16

    Allain의 Jumping into C ++ (ch7 # 3)에서 "소인수 합계가 소수 인 1에서 1000 사이의 숫자 찾기"출력 확인

  17. 17

    소수 앞의 숫자가 0 일 때만 쿼리 반올림 소수 자리 찾기

  18. 18

    SimpleCursorAdapter가 인수에서 내 목록의 사용자 정의보기를 찾을 수 없습니다-Android

  19. 19

    JS-알 수없는 속성 수를 가진 객체의 2 개 배열 간의 차이점 찾기

  20. 20

    합계가 m 인 부분 문자열의 수 찾기

  21. 21

    OrderedList에서 주어진 매개 변수 I에 가장 가까운 더 큰 요소를 빠르게 찾기

  22. 22

    주어진 정수까지 소수가 몇 개인 지 찾는 함수를 만듭니다.

  23. 23

    상수가있는 열 값의 최소 차이를 찾기위한 SQL 쿼리

  24. 24

    속성이 10 진수 인 경우 가장 높은 값을 가진 개체 속성 찾기

  25. 25

    목록에있는 모든 숫자의 요소 인 가장 작은 정수 찾기

  26. 26

    Rails 4, 태그 지정 가능 : 동일한 태그를 가진 사용자 수 찾기

  27. 27

    지수가 10 진수이고 1보다 작은 지수를 찾기위한 거듭 제곱 함수

  28. 28

    찾기를 사용하여 이름에 인쇄 할 수없는 문자가있는 파일 찾기

  29. 29

    Javascript에서 정수의 최대 소인수 찾기

뜨겁다태그

보관