Bài toán phân tích thừa số yếu tắc bằng ngữ điệu C/C++ là một bài toán lập trình khá hay. Trong bài viết hôm nay, mình đang giới thiệu cho chính mình đọc phương pháp giải vấn đề này
1. Số yếu tố là gì? phân tích thừa số yếu tắc là như vậy nào?
Số nguyên tố là số chỉ phân chia hết cho một và bao gồm nó.
Ví dụ: 2, 3, 5, 7. . .
Bạn đang xem: Viết chương trình phân tích một số nguyên thành các thừa số nguyên tố
Phân tích vượt số nguyên tố có nghĩa là phân tích một trong những nguyên cho trước thành tích của các số nguyên tố.
Ví dụ: 20 phân bóc thành 2*2*5 30 phân tách bóc thành 2*3*5
2. Vấn đề phân tích thừa số yếu tắc của số nguyên n
Đề bài: Nhập vào số nguyên n từ bàn phím n>1, in ra screen dãy những số nhân tố được phân bóc bởi số nguyên n thu xếp theo chiều tăng dần, từng số biện pháp nhau một dấu cách.
Ví dụ:
Đầu vào | Đầu ra |
12 | 2 2 3 |
Đầu vào | Đầu ra |
9 | 3 3 |
Tích của những số ở hiệu quả của bài bác toán chính là số nguyên lúc đầu được nhập vào từ bàn phím.
3. Giải quyết và xử lý bài toán so với thừa số nhân tố bằng ngôn từ C/C++
3.1 giới thiệu thuật toán
Thuật toán chỉ dẫn dựa trên phương thức chia lần lượt mang lại các số nguyên tố nhỏ tuổi hơn N theo hướng từ nhỏ dại đến lớn. Có nghĩa là chia đến số nguyên tố nhỏ nhất, nếu như phép phân chia hết, chúng ta nhận 1 giá bán trị, hiệu quả của phép phân chia sẽ gán thành N, nếu như không chia hết, chúng ta tiếp tục chia giá trị N mang lại số nguyên tố bự hơn.
Để triển khai được bài toán chia mang đến các số yếu tố từ bé dại đến lớn, ta mang đến N chia cho các số theo lần lượt tử 2 mang lại N, thuật toán sẽ bỏ lỡ số không hẳn là số yếu tố (n) bởi số không phải là số nguyên tố sẽ phân chia hết mang lại số nguyên tố nhỏ dại hơn nó(n), bởi vì đó đương nhiên N sẽ phân tách hết cho số nguyên tố nhỏ dại hơn (n) nào đó.
bọn họ cần khai báo một mảng nhằm lưu giá trị mỗi lần N phân tách hết mang lại số đó.
3.2 Code trong C
Code vào C cùng C++ chỉ không giống nhau một số kết cấu cơ bản, về mặt thuật toán thì không tồn tại gì khác biệt.
Nhìn vào thuật toán mình share có vẻ hơi cạnh tranh hiểu, các bạn hãy nhìn vào phần đa dòng code dưới đây để hiểu chi tiết hơn nhé!
#includevoid thuasonguyento(long &n){scanf("%d",&n);long a<100000>; //mang a de dung gia trilong c=0;while(n>1){for(long i=2;i
Kết quả chạy thử:

3.3 Code trong C++
C++ là cải thiện của C nên cấu trúc có khác một chút.
Xem thêm: Những Đồ Dùng Học Tập Cần Thiết Cho Học Sinh Lớp 10, Tất Cả Đồ Dùng Học Tập Cho Học Sinh Cấp 3
#includeusing namespace std;void thuasonguyento(long &n){cin>>n;long a<100000>;long c=0;while(n>1){for(long i=2;i
Kết quả demo vd 2:

Trên trên đây là toàn bộ cách giải câu hỏi phân tích thừa số nhân tố bằng ngôn ngữ C/C++
Mọi vướng mắc trong quy trình giải bài tập chúng ta đọc phản hồi xuống bên dưới để được hỗ trợ.