K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

9-Trong cuộc thi giải toán qua mạng internet mỗi học sinh đều có số điểm tích lũy riêng của mình. Số điểm tích lũy của mỗi học sinh là một số nguyên dương K (0 < K ≤ 2×109). Đội tuyển của trường THCS Tài Năng có N học sinh tham gia dự thi (2 ≤ N ≤ 100). Tại buổi gặp mặt trước kỳ thi cấp tỉnh, thầy hiệu trưởng quyết định thưởng cho các học sinh trong đội tuyển Q triệu đồng, biết rằng điểm tích lũy của mỗi học sinh đều chia hết cho Q.

Yêu cầu: Hãy tìm số nguyên dương Q lớn nhất.

Dữ liệu vào là  một mảng  gồm N số nguyên A[n] vớ N:số học sinh và a[i] là điểm tích lũy được của học sinh thứ i

10. Cho 1 dãy gồm n phần tử số nguyên a1,a2…an (0<= ai<=32000; 0<= n<=32000). Yêu cầu:

a. Đếm số lượng các số khác nhau có trong dãy.

b. Đếm số lần xuất hiện của từng phần tử trong dãy.

11-Trên một hòn đảo xinh đẹp, có n người thuộc nhiều bộ tộc sinh sống. Người dân ở đây rất hiền hòa, mỗi người thuộc một bộ tộc nào đó. Một nhà nhân chủng học muốn biết trên đảo có bao nhiêu bộ tộc. Ông nghĩ ra một cách, ông gặp và hỏi từng người trong n người trên đảo với một câu hỏi: “Bộ tộc của bạn có bao nhiêu người?”. Ông nhận được câu trả lời từ họ đó là số lượng người trong bộ tộc của họ. Từ kết quả thu được, nhà nhân chủng học sẽ xác định được số lượng bộ tộc khác nhau trên đảo.

Yêu cầu: Với n câu trả lời của n người dân, hãy xác định số lượng bộ tộc có trên đảo. 

Dữ liệu đầu vào:

-số nguyên dương n biểu thị cho số người sinh sống trên đảo

-mảng A gồm n số nguyên dương,phần tử A[i] là câu trả lời của người thứ i


viết theo pascal dùm mình nhé


 

1

Bài 10:

uses crt;

var a,b:array[1..10000]of longint;

i,n,dem,j,dem1:longint;

kt:boolean;

begin

clrscr;

readln(n);

for i:=1 to n do readln(a[i]);

dem:=0;

b[1]:=a[1];

for i:=1 to n do 

begin

kt:=true;

for j:=1 to dem do 

  if b[j]=a[i] then kt:=false;

if kt=true then 

begin

dem:=dem+1;

b[dem]:=a[i];

end;

end;

writeln(dem);

for i:=1 to dem do

begin

dem1:=0;

for j:=1 to n do 

  if b[i]=a[j] then dem1:=dem1+1;

writeln(b[i],' xuat hien ',dem1,' lan');

end;

readln;

end. 

2 tháng 1 2022

mình cảm ơn nhiều ạ

uses crt;

var i,n,dem:integer;

a:array[1..100]of real;

begin

clrscr;

write('Nhap so hoc sinh:'); readln(n);

for i:=1 to n do

begin

repeat

write('Nhap diem trung binh mon Tin Hoc cua ban thu ',i,'='); readln(a[i]);

until (0<a[i]) and (a[i]<=10);

end;

dem:=0;

for i:=1 to n do

if a[i]>=5 then inc(dem);

writeln('So ban co diem tren trung binh la: ',dem);

readln;

end.

uses crt;

var a:array[1..250]of integer;

i,n,dem,t,t1,t2,t3,t4:integer;

begin

clrscr;

repeat

write('Nhap n='); readln(n);

until (0<n) and (n<=250);

for i:=1 to n do 

  begin

repeat

write('A[',i,']='); readln(a[i]);

until (0<a[i]) and (a[i]<=500);

end;

dem:=0;

for i:=1 to n do 

  if a[i] mod 2=1 then inc(dem);

writeln('So phan tu co gia tri le la: ',dem);

t:=0;

for i:=1 to n do 

  if i mod 2=0 then t:=t+a[i];

writeln('Tong cac phan tu co chi so chan la: ',t);

t1:=0;

for i:=1 to n do 

  if i mod 2=1 then t1:=t1+a[i];

writeln('Tong cac phan tu co chi so le la: ',t1);

t2:=0;

for i:=1 to n do 

  if (i mod 2=0) and (a[i] mod 2=0) then t2:=t2+a[i];

writeln('Tong cac phan tu chan co chi so chan la: ',t2);

t3:=0;

for i:=1 to n do 

  if (i mod 2=1) and (a[i] mod 2=1) then t3:=t3+a[i];

writeln('Tong cac phan tu co chi so le la: ',t3);

t4:=0;

for i:=1 to n do 

  t4:=t4+a[i];

writeln('Trung binh cong cac so trong day la: ',t4/n:4:2);

readln;

end.

Câu 7:

const fi='dayso.inp';

fo='dayso.out';

var f1,f2:text;

a,b:array[1..100]of integer;

i,n,dem,j,t,kt,dem1:integer;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n);

for i:=1 to n do 

  read(f1,a[i]);

t:=0;

for i:=1 to n do 

  t:=t+a[i];

writeln(f2,'Tong cua day so la: ',t);

b[1]:=a[1];

dem:=1;

for i:=1 to n do 

  begin

kt:=0;

for j:=1 to dem do 

  if a[i]=b[j] then kt:=1;

if kt=0 then

begin

inc(dem);

b[dem]:=a[i];

end;

end;

for i:=1 to dem do 

  begin

dem1:=0;

for j:=1 to n do 

  if b[i]=a[j] then inc(dem1);

writeln(f2,b[i],' xuat hien ',dem1,' lan');

close(f1);

close(f2);

end.

23 tháng 8 2023

Để lưu trữ danh sách học sinh và thông tin điểm thi của họ, bạn có thể sử dụng một danh sách chứa nhiều danh sách con. Mỗi danh sách con sẽ chứa tên học sinh (dạng chuỗi) và ba điểm số (dạng số) của họ tương ứng với ba bài thi.

Ví dụ, để tạo một mảng danh sách học sinh với thông tin điểm số, ta có thể sử dụng mã như sau:

# Nhập danh sách học sinh và điểm số

students = []

n = int(input("Nhập số lượng học sinh: "))

for i in range(n):

  name = input(f"Nhập tên học sinh thứ {i+1}: ")

  mark1 = float(input(f"Nhập điểm bài thi 1 của {name}: "))

  mark2 = float(input(f"Nhập điểm bài thi 2 của {name}: "))

  mark3 = float(input(f"Nhập điểm bài thi 3 của {name}: "))

  students.append([name, mark1, mark2, mark3])

# Tính điểm trung bình và in ra danh sách học sinh và điểm trung bình của họ

for student in students:

  name = student[0]

  mark1 = student[1]

  mark2 = student[2]

  mark3 = student[3]

  avg_mark = (mark1 + mark2 + mark3) / 3

  print(f"Học sinh {name} có điểm trung bình là {avg_mark}")

QT
Quoc Tran Anh Le
Giáo viên
10 tháng 11 2023

Dựa trên yêu cầu của bài toán, ta có thể đề xuất các bảng dữ liệu và các trường làm khoá chính và khoá ngoài như sau:

- Bảng HocSinh:

Trường: Mã số báo danh, Họ tên, Ngày sinh, Địa chỉ

Khoá chính: Mã số báo danh

Khoá ngoài: Không có

- Bảng MonHoc:

Trường: Tên môn học, Mã môn học

Khoá chính: Mã môn học

Khoá ngoài: Không có

- Bảng PhongThi:

Trường: Mã phòng thi, Tên phòng thi

Khoá chính: Mã phòng thi

Khoá ngoài: Không có

- Bảng ThiSinh_MonHoc:

Trường: Mã số báo danh, Mã môn học

Khoá chính: Mã số báo danh, Mã môn học

Khoá ngoài: Mã số báo danh tham chiếu đến bảng HocSinh, Mã môn học tham chiếu đến bảng MonHoc

- Bảng KetQuaThi:

Trường: Mã số báo danh, Mã môn học, Mã phòng thi, Điểm thi

Khoá chính: Mã số báo danh, Mã môn học, Mã phòng thi

Khoá ngoài:

Mã số báo danh tham chiếu đến bảng HocSinh

Mã môn học tham chiếu đến bảng MonHoc

Mã phòng thi tham chiếu đến bảng PhongThi

Lưu ý rằng, trong bảng ThiSinh_MonHoc, ta cần sử dụng một tập hợp các trường (Mã số báo danh, Mã môn học) để tạo thành khoá chính, bởi vì một thí sinh có thể đăng kí thi nhiều môn học khác nhau. Còn trong bảng KetQuaThi, ta cần sử dụng một tập hợp các trường (Mã số báo danh, Mã môn học, Mã phòng thi) để tạo thành khoá chính, bởi vì một thí sinh có thể thi cùng một môn học ở nhiều phòng thi khác nhau.

6 tháng 10 2023

#include <iostream>

#include <vector>

using namespace std;

bool divideArray(vector<int>& nums, int N) {

     int totalSum = 0;

     for (int i = 0; i < N; i++) {

          totalSum += nums[i];

     }

     if (totalSum % 2 != 0) {

          return false;

     }

     int halfSum = totalSum / 2;

     vector<vector<bool>> dp(N + 1, vector<bool>(halfSum + 1, false));

     dp[0][0] = true;

     for (int i = 1; i <= N; i++) {

          for (int j = 0; j <= halfSum; j++) {

               dp[i][j] = dp[i - 1][j];

               if (j >= nums[i - 1]) {

                    dp[i][j] = dp[i][j] || dp[i - 1][j - nums[i - 1]];

               }

          }

     }

     return dp[N][halfSum];

}

int main() {

     int N;

     cout << "Nhập số phần tử N: ";

     cin >> N;

     vector<int> nums(N);

     cout << "Nhập các phần tử của mảng: ";

     for (int i = 0; i < N; i++) {

          cin >> nums[i];

     }

     bool isPossible = divideArray(nums, N);

     if (isPossible) {

          cout << "Có thể chia mảng thành hai đoạn có tổng bằng nhau." << endl;

     } else {

          cout << "Không thể chia mảng thành hai đoạn có tổng bằng nhau." << endl;

     }

     return 0;

}