簡體   English   中英

如何將用戶輸入的數字的質數相乘並用C語言顯示

[英]How can i multiply the prime numbers of a number from user input and display it in C language

所以我開始為 Uni 學習 C 語言並堅持這個練習,我找到了一種計算素數的方法,但我不知道如何將素數相乘並顯示它們。

int main()
 {

    int number;
    int prime;
    int i,j;
    

    
    printf("Insert number:");
    scanf("%d", &number);
    
    printf("Prime numbers of %d are: ",number);



        for(i = 2; i <= number; i++)
        {
            prime = 1;

            for(j = 2; j <= i/2; j++)
            {
                if(i % j == 0)
                {
                    prime = 0;
                }
            }
            if(prime == 1)
            {
                printf(" %d", i);
            }
        }



    return 0;
 }

您需要再引入一個變量來存儲素數的乘法。

這是一個演示程序。

#include <stdio.h>

int main( void )
{
    unsigned int number;

    printf( "Insert number (0 - exit ): " );

    if ( scanf( "%u", &number ) == 1 && number != 0 )
    {
        if ( number < 2 )
        {
            printf( "There are no prime numbers in the range [0, %u].\n", number );
        }
        else
        {
            unsigned long long product = 2;
    
            printf( "Prime numbers in the range [0, %u] are: ", number );

            printf( "%u ", 2 );
            for ( unsigned int i = 3; i <= number; i += 2 )
            {
                int prime = 1;

                for( unsigned int j = 3; prime && j <= i / j; j += 2 )
                {
                    if ( i % j == 0 )
                    {
                        prime = 0;
                    }
                }

                if ( prime )
                {
                    printf( "%d ", i );
                    product *= i;
                }
            }

            printf( "\nTheir multiplication is equal to %llu\n", product );   
        }
    }
}

它的輸出可能看起來像

Insert number (0 - exit ): 10
Prime numbers in the range [0, 10] are: 2 3 5 7 
Their multiplication is equal to 210

暫無
暫無

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

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