簡體   English   中英

c中素數分解程序的問題 它並不總是工作。 僅在某些情況下有效

[英]problems on prime factorization program in c. It doesnt work always. It only works in some cases

該程序的目的是從任何給定的數字中分解出任何質數。

除某些情況外,它工作正常。 例如,它不能與數字1024一起使用。我不明白這是什么問題。 非常感謝您的幫助。

#include<stdio.h>

int main()
{
    int n1,n0,A[100];
    char i,j,p=0;
    printf("insert number: ");
    scanf("%d",&n1);
    n0=n1;
    for(i=2; i<=n1; i++)
    {

        while (n0%i==0)
        {
            n0=n0/i;
            A[p]=i;
            p++;

        }
    }
    for(j=0; j<p; j++)
    {
        printf("%d ",A[j]);
    }

    return 0;
}

該代碼使用char i 在大多數系統上,(帶符號的)char的范圍是-128到127。

如果n1大於127, i將永遠無法達到。使用int代替。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM