Cách giải 1: Sử dụng một biến chạy từ 1 tới N và 1 biến đếm sẽ tăng lên 1 đơn vị nếu có số i để N chia hết i (Cơ bản, dễ)
uses crt;
var N, i, dem: integer;
Begin
clrscr;
write('Nhap so nguyen n: '); readln(N);
dem:=0;
for i:=1 to N do if N mod i = 0 then dem:=dem+1;
writeln('So uoc so cua ', N, ' la: ', dem:2);
readln;
End.
Cách giải 2: Sử dụng một biến chạy từ 1 tới $\sqrt[]{N}$ và 1 biến đếm sẽ tăng lên nếu có số i để N chia hết i (Cụ thể: biến đếm tăng lên 2 nếu đó không là giá trị chính xác của $\sqrt[]{N}$, tăng lên 1 nếu đó là giá trị chính xác của $\sqrt[]{N}$) (Nâng cao, khó)
uses crt;
var N, i, dem: integer;
Begin
clrscr;
write('Nhap so nguyen n: '); readln(N);
dem:=0;
for i:=1 to sqrt(N) do
(*sqrt(N) la lay can bac 2 cua n*)
if N mod i = 0 then
if i=sqrt(N) then dem:=dem+1 else dem:=dem+2;
writeln('So uoc so cua ', N, ' la: ', dem:2);
readln;
End.
(Cách 2 chạy nhanh hơn nhưng khó hiểu hơn. Nếu đây là BT trên trường, theo mình, nên làm cách 1 là vửa đủ khả năng hiêu, vừa đủ điểm theo kiến thức trên trường)
#include <iostream>
using namespace std;
// Đếm số lượng “ước số” của số nguyên dương n
// VD :
// 5 = 1 5 ==> dem = 2
// 10 = 1 2 5 10 ==> dem = 4
int Dem_UocSo(int N)
{
int dem = 0;
for (int i = 1; i <= N; i++)
{
if (N % i == 0)
dem++;
}
return dem;
}
int main()
{
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!
Nguồn : ADMIN :))Xem thêm tại https://loigiaisgk.com/cau-hoi or https://giaibtsgk.com/cau-hoi
Copyright © 2021 HOCTAPSGK