C에서 2 ^ 2의 쓰기로 거듭 제곱하기

회상하다

입력 된 숫자의 소수를 계산하는 프로그램을 코딩하고 있습니다. 소수를 찾는 프로그램을 만들었지 만 거듭 제곱과 같은 값을 쓰고 싶습니다.

if (num < 0)
    printf("THIS VALUE IS NOT AVAILABLE TO FIND THE PRIMES");
else {
    x = 2;
    while (num != 0) {
        if (num % x != 0)
            x = x + 1;
        else {
            num = num / x;
            printf("%d", x);

            if (num == 1)
                break;

예를 들어 여기에서 9를 입력하면 3 3이 나오고 3 ^ 2로보고 싶습니다. 대답 해 주시면 감사하겠습니다.

chqrlie

주어진 소수 후보로 나눌 수있는 횟수를 세고 개수가 1보다 크면 지수 형식을 인쇄해야합니다. 작동 방식은 다음과 같습니다.

#include <stdio.h>

void factor(int num) {
    unsigned int n, x, count;
    int sep = '=';

    if (num < 0) {
        printf("Cannot handle negative number %d\n", num);
        return;
    }
    printf("%d", num);
    for (n = num, x = 2; x * x <= n; x++) {
        for (count = 0; n % x == 0; count++) {
            n /= x;
        }
        if (count >= 1) {
            printf(" %c %u", sep, x);
            sep = '*';
            if (count > 1) {
                printf("^%u", count);
            }
        }
    }
    if (n > 1 || n == num) {
        printf(" %c %u", sep, n);
    }
    printf("\n");
}

int main(void) {
    for (int i = 0; i < 100; i++) {
        factor(i);
    }
    for (int i = 0; i < 32; i++) {
        factor((1U << i) - 1);
    }
    return 0;
}

메모:

  • 나는 Mersenne Prime 인unsigned 인수 2147483647(2 31 -1)을 시도 할 때 오버플로를 피하기 위해 산술을 사용했습니다 .
  • main유형 int이 32 비트 미만인 경우 함수에 정의되지 않은 동작이있을 수 있습니다 .
  • 2보다 큰 짝수를 건너 뛰 도록 x++변경하면 스캔 속도를 두 배로 높일 수 있습니다 x += 1 + (x & 1).

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

더블이 거듭 제곱인지 확인하기 2

분류에서Dev

2의 거듭 제곱으로 예기치 않은 동작

분류에서Dev

신경망에서 배치 크기 또는 뉴런 수를 2의 거듭 제곱으로 취하는 이유는 무엇입니까?

분류에서Dev

2를 10000000의 거듭 제곱으로 계산하는 방법

분류에서Dev

matplotlib에서 눈금 눈금을 2의 거듭 제곱으로 설정하는 방법은 무엇입니까?

분류에서Dev

C #에는 이진수를 비트 거듭 제곱 배열로 변환하는 기본 방법이 있습니까 (예 : 0b1101-> {0, 2, 3})?

분류에서Dev

biginteger 연산에서 명시 적 2의 거듭 제곱

분류에서Dev

고정 소수점에서 근사 2의 거듭 제곱

분류에서Dev

숫자 2의 선행 거듭 제곱을 찾기위한 빠른 구현

분류에서Dev

C에서 거듭 제곱이 1/2로 설정 될 때 왜 거듭 제곱 함수가 1을 반환합니까?

분류에서Dev

N에 대한 세타 표기법에서 로그 조작의 거듭 제곱

분류에서Dev

C에서 논리적 이동으로 2의 거듭 제곱을 구현하는 방법은 무엇입니까?

분류에서Dev

축 값을 Microsoft Excel에서 1, 2, 3 등의 거듭 제곱의 10으로 표시

분류에서Dev

프롤로그, 항이 2의 거듭 제곱인지 확인

분류에서Dev

숫자의 거듭 제곱 찾기

분류에서Dev

실수의 거듭 제곱 찾기

분류에서Dev

n 점에 대한 FFT (2의 거듭 제곱이 아님)

분류에서Dev

2의 거듭 제곱 형태로 정수의 인수를 찾기위한 간결한 코드

분류에서Dev

2의 거듭 제곱 형태로 정수의 인수를 찾기위한 간결한 코드

분류에서Dev

부동 지수로 Javacard에서 2의 거듭 제곱을 어떻게 할 수 있습니까?

분류에서Dev

Z3에서 2 거듭 제곱 n 즉 2 ^ n을 쓰는 방법은 무엇입니까?

분류에서Dev

유형 시스템에서 유형 필드를 2의 거듭 제곱으로 제한하는 방법은 무엇입니까?

분류에서Dev

벡터의 요소를 거듭 제곱하기

분류에서Dev

이상한 점을 확인하고 2의 거듭 제곱으로 나누기를 수행하는 가장 빠른 방법은 무엇입니까?

분류에서Dev

파이썬에서 정수 2의 거듭 제곱으로 계수를 취하는 선호되는 방법은 무엇입니까

분류에서Dev

주어진 정수에 대해 다음으로 가장 가까운 2의 거듭 제곱 반환

분류에서Dev

파이썬에서 행렬의 -1/2 거듭 제곱을 계산하는 방법

분류에서Dev

2 개 이상의 표에서 최근 3 개의 기사보기를 선택하거나 만듭니다.

분류에서Dev

SpriteKit 자동 생성 아틀라스 크기는 2의 거듭 제곱이 아닙니다.

Related 관련 기사

  1. 1

    더블이 거듭 제곱인지 확인하기 2

  2. 2

    2의 거듭 제곱으로 예기치 않은 동작

  3. 3

    신경망에서 배치 크기 또는 뉴런 수를 2의 거듭 제곱으로 취하는 이유는 무엇입니까?

  4. 4

    2를 10000000의 거듭 제곱으로 계산하는 방법

  5. 5

    matplotlib에서 눈금 눈금을 2의 거듭 제곱으로 설정하는 방법은 무엇입니까?

  6. 6

    C #에는 이진수를 비트 거듭 제곱 배열로 변환하는 기본 방법이 있습니까 (예 : 0b1101-> {0, 2, 3})?

  7. 7

    biginteger 연산에서 명시 적 2의 거듭 제곱

  8. 8

    고정 소수점에서 근사 2의 거듭 제곱

  9. 9

    숫자 2의 선행 거듭 제곱을 찾기위한 빠른 구현

  10. 10

    C에서 거듭 제곱이 1/2로 설정 될 때 왜 거듭 제곱 함수가 1을 반환합니까?

  11. 11

    N에 대한 세타 표기법에서 로그 조작의 거듭 제곱

  12. 12

    C에서 논리적 이동으로 2의 거듭 제곱을 구현하는 방법은 무엇입니까?

  13. 13

    축 값을 Microsoft Excel에서 1, 2, 3 등의 거듭 제곱의 10으로 표시

  14. 14

    프롤로그, 항이 2의 거듭 제곱인지 확인

  15. 15

    숫자의 거듭 제곱 찾기

  16. 16

    실수의 거듭 제곱 찾기

  17. 17

    n 점에 대한 FFT (2의 거듭 제곱이 아님)

  18. 18

    2의 거듭 제곱 형태로 정수의 인수를 찾기위한 간결한 코드

  19. 19

    2의 거듭 제곱 형태로 정수의 인수를 찾기위한 간결한 코드

  20. 20

    부동 지수로 Javacard에서 2의 거듭 제곱을 어떻게 할 수 있습니까?

  21. 21

    Z3에서 2 거듭 제곱 n 즉 2 ^ n을 쓰는 방법은 무엇입니까?

  22. 22

    유형 시스템에서 유형 필드를 2의 거듭 제곱으로 제한하는 방법은 무엇입니까?

  23. 23

    벡터의 요소를 거듭 제곱하기

  24. 24

    이상한 점을 확인하고 2의 거듭 제곱으로 나누기를 수행하는 가장 빠른 방법은 무엇입니까?

  25. 25

    파이썬에서 정수 2의 거듭 제곱으로 계수를 취하는 선호되는 방법은 무엇입니까

  26. 26

    주어진 정수에 대해 다음으로 가장 가까운 2의 거듭 제곱 반환

  27. 27

    파이썬에서 행렬의 -1/2 거듭 제곱을 계산하는 방법

  28. 28

    2 개 이상의 표에서 최근 3 개의 기사보기를 선택하거나 만듭니다.

  29. 29

    SpriteKit 자동 생성 아틀라스 크기는 2의 거듭 제곱이 아닙니다.

뜨겁다태그

보관