Trang chủ Tin Học Lớp 8 Viết chương trình giải bài toán sau bằng ngôn ngữ...

Viết chương trình giải bài toán sau bằng ngôn ngữ lập trình Pascal: Nhân dịp khai giảng năm học mới, một nhà từ thiện đã mua X quyển vở để tặng cho các học sin

Câu hỏi :

Viết chương trình giải bài toán sau bằng ngôn ngữ lập trình Pascal: Nhân dịp khai giảng năm học mới, một nhà từ thiện đã mua X quyển vở để tặng cho các học sinh có hoàn cảnh khó khăn của một trường nào đó nơi ông sống. Tại đây có n ngôi trường, trường thứ i có a i học sinh có hoàn cảnh khó khăn (1<=ai<=X,I=1,2..n) . Nhà từ thiện muốn chọn ra một trường nào đó sao cho khi đem số vở ông đã mua ra chia đều cho tất cả các học sinh có hoàn cảnh khó khăn của trường đó thì vừa đủ. Nhưng khi ông thử lần lượt từ trường thứ nhất đến trường thứ n thì khi đem số vở ra chia đều cho tất cả học sinh khó khăn của bất kỳ một trường nào đều thấy thừa k quyển (k<X;0<=X<ai;i=1,2,..n). Yêu cầu: Hỏi nhà từ thiện đã mua ít nhất bao nhiêu quyển vở Dữ liệu vào: Tệp TUTHIEN.INP gồm 2 dòng:  Dòng 1: Ghi hai số nguyên dương n và k (2<=n<=50,k<=50), hai số cách nhau đúng 1 kí tự trống  Dòng 2: Ghi n số nguyên dương a 1 , a 2 , ..., a n (ai<=50,i=1,2...n) . Hai số liền nhau cách nhau đúng 1 kí tự trống Dữ liệu ra: Tệp TUTHIEN.OUT gồm 1 dòng ghi số nguyên dương X là số vở ít nhất mà nhà từ thiện đã mua. Ví dụ: TUTHIEN.INP TUTHIEN.OUT 3 2 14 3 4 6 giúp em với ạ gấp lém

Lời giải 1 :

function bcnn(x,y:longint):longint;
  var tmp,t : longint;
  begin
   t:=x*y;
    while y > 0 do
  begin tmp := x mod y;
         x := y;
         y := tmp;
end;
 exit(t div x);
end;
var a : array[0..10000007] of int64;
    d,k,n:int64;
    i : longint;
begin
assign(input,'tuthien.inp');reset(input);
assign(output,'tuthien.out');rewrite(output);
readln(n,k);
for i := 1 to n do read(a[i]);
d := a[1];
for i := 2 to n do
d := bcnn(d,a[i]);
writeln(d+k);
close(input);close(output);
end.

Thảo luận

-- giúp cái này với luôn bạn ơi tại cùng đề :>
-- bạn ơi https://hoidap247.com/cau-hoi/2527596 giúp mik với cần gấp
-- https://hoidap247.com/cau-hoi/2558050
-- https://hoidap247.com/cau-hoi/2579796
-- giúp nha
-- https://hoidap247.com/cau-hoi/2580528
-- https://hoidap247.com/cau-hoi/2798586
-- giúp với ạ cần gấp

Lời giải 2 :

type int = longint;
var i,n,k,b,a:int;
function bcnn(a,b:int):int;
var tmp:int;
begin
    tmp:= a*b;
    if tmp = 0 then exit(a+b);
    while a*b <> 0 do
        begin
            a:=a mod b;
            if a <> 0 then
                b:=b mod a;
        end;
    exit(tmp div (a+b));
end;
begin
    readln(n,k);
    b:=0;
    for i:=1 to n do
        begin
            read(a);
            b:=bcnn(a,b);
        end;
    writeln(b+k);
end.

Bạn có biết?

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ư

Tâm sự 8

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 :))

Liên hệ hợp tác hoặc quảng cáo: gmail

Điều khoản dịch vụ

Copyright © 2021 HOCTAPSGK