[C++] Phân tích thừa số nguyên tố

1. Đề bài Phân tích thừa số nguyên tố

Nhập một số nguyên dương N < 10000. Phân tích số N thành tích của các số nguyên tố.

Yêu cầu: Xuất các số nguyên tố theo thứ tự giảm dần và xuất dấu nhân là “x” có khoảng trắng hai bên.

Ví dụ:

999 = 37 x 3 x 3 x 3

1234567 = 9721 x 127

Input:

Dòng thứ nhất, nhập số lượng trường hợp kiểm tra.

Các dòng còn lại, nhập số nguyên dương N < 10000000.

Output:

Xuất số chữ số cho từng trường hợp kiểm tra.

InputOutput
4

999

1234567

823

3

 

37 x 3 x 3 x 3

9721 x 127

823

3

2. Code Phân tích thừa số nguyên tố C++

#include <iostream>
using namespace std;

long n,kq[10000],spt;

void xuli()
{
    spt=0;
    long i;
    for (i=2; i<=n; i++)
    {
        while(n%i==0)
        {
            kq[++spt]=i;
            n=n/i;
        }
    }
    for (i=spt; i>1; i--)
        cout << kq[i] << " x ";
    cout <<kq[i]<<endl;
}

int main()
{
    long test,i;
    cin >> test;
    for (i=1; i<=test; i++)
    {
        cin >> n;
        xuli();
    }
    return 0;
}

Đặng Minh Tiến – UIT K11

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *