1. Trang chủ
  2. » Công Nghệ Thông Tin

bài tập c phần tư duy bài 11

4 186 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 29,22 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

Bài 172: Cho mảng 1 chiều các số nguyên Hãy viết hàm tìm bội chung nhỏ nhất của tất cả các phần tử trong mảng

#include<stdio.h>

#include<conio.h>

#include<math.h>

#define MAX 100

void nhap (int a[], int &n)

{

do

{

printf("\nNhap so phan tu: ");

scanf("%d", &n);

if(n <= 0 || n > MAX) {

printf("\nSo phan tu khong hop le Xin kiem tra lai !");

} }while(n <= 0 || n > MAX);

for(int i = 0; i < n; i++)

{

printf("\nNhap a[%d]: ", i);

scanf("%d", &a[i]);

}

}

Trang 2

void xuat(int a[], int n)

{

for(int i = 0; i < n; i++)

{

printf("%4d", a[i]);

}

}

int TimSoLonNhat(int a[], int n)

{

int max = a[0];

for(int i = 1; i < n; i++)

{

if(a[i] > max) {

max = a[i]; //max = (max>A[i]) ? max : A[i];

} }

return max;

}

/*

Tìm BCNN 1 2 3

vị trí i 0 1 2

Khởi tạo BCNN = 3

i = 0: 3 % 1 == 0 -> BCNN = 3

Trang 3

i = 1: 3 % 2 != 0 -> BCNN = 3 + 3 = 6, i = -1

sau khi i++

i lúc này lại reset lại từ 0 và BCNN là 6

BCNN = 6

i = 0: 6 % 1 == 0 -> BCNN = 6

i = 1: 6 % 2 == 0 -> BCNN = 6

i = 2: 6 % 3 == 0 -> BCNN = 6

*/

int TimBoiChungNhoNhat(int a[], int n)

{

int BoiSo = TimSoLonNhat(a, n);

for(int i = 0; i < n; i++)

{

if(BoiSo % a[i] != 0) {

BoiSo += TimSoLonNhat(a, n);

i = -1; // reset lại i

} }

return BoiSo;

}

int main()

{

int n;

Trang 4

int a[MAX];

nhap(a, n);

xuat(a, n);

int Kq = TimBoiChungNhoNhat(a, n);

printf("\nBoi chung nho nhat cua mang la %d", Kq);

getch();

return 0;

}

Ngày đăng: 19/10/2016, 22:27

w