Câu 1: Tính tổng trong dãy n phần tử
S:=S+a[i];
Câu 2: Sắp xếp mảng n phần tử tăng dần
1 3 8 4 2 6 (n=6)
-> 1 2 3 4 6 8
Đề 1 Câu 1 (3.0 điểm): Viết chương trình nhập vào số nguyên dương N và thực hiện tính tổng S=3+5+7+..+(2n+1). Câu 2 (7.0 điểm): a. Viết chương trình nhập vào một dãy số nguyên có n phần tử. b. Đưa ra màn hình các phần tử có giá trị âm ở trong dãy. c. Tìm phần tử lớn nhất có trong dãy
Câu 1:
var i,n:integer;
s:longint;
begin
Write('n = ');readln(n)
for i:=1 to n do
s:=s+2*i+1;
write('tong la: ',s);
readln
end.
Câu 2
Bài 5:
Var b:array:[1..1000] of integer;
i,n,max:integer;
Begin
Write('n = ');readln(n);
For i:=1 to n do
Begin
Write('Nhap so thu ',i,' = ');readln(b[i]);
End;
Write('Cac phan tu am la: ');
For i:=1 to n dko
if b[i]<0 then write(b[i]:8);
writeln;
max:=b[1];
For i:=2 to n do
If b[i] > max then max:=b[i];
write('So lon nhat la ',max);
Readln
End.
1. Nhập vào 1 dãy số thực có 20 phần tử.
a)Tìm phần tử đầu tiên trong dãy có giá trị bằng x (x nhập từ bàn phím)
b)Tính tổng các số dương trong dãy
c)Tính Tb(+) các số âm trong dãy
2. Nhập dãy số nguyên có n phần tử (n nhập)
a) Hiển thị ra màn hình các phần tử chia hết cho 3
b) Tìm trong dãy tất cả các bộ gồm 3 số dương vị trí liền kề nhau và có tổng chia hết cho 5
3. Nhập 1 xâu ký tự bàn phím:
a) Đếm số lượng chữ in hoa, chữ cái thường trong xâu
b) Xóa bỏ các ký tự trắng thứ a trong xâu
c) Đếm số từ trong sâu
d) Đổi sang chữ hoa hay các kí tự là chữ thường
MỌI NGƯỜI GIÚP EM TRẢ LỜI CÁC CÂU HỎI TRÊN VỚI Ạ! TKS
Bài 1 (8 điểm): TÍNH TỔNG
Cho dãy số a1, a2,..., aN và một số S. Hãy tính tổng các phần tử trong dãy mà chia hết cho S
Dữ liệu: Vào từ tệp văn bản BAI1.INP:
Dòng 1 : Hai số nguyên dương N và S (N ⩽ 105, S ⩽ 109)
Dòng 2 : N số nguyên dương a1, a2,..., aN (ai ⩽ 109)
Kết quả: Ghi ra tệp văn bản BAI1.OUT kết quả tìm được.
Ví dụ:
BAI1.INP | BAI1.OUT |
5 2 2 4 6 8 10 | 30 |
Bài 2 (6 điểm): HIỆU LỚN NHẤT
Cho 2 dãy số a1, a2,..., aN và b1, b2,..., bN , hãy tìm cặp số (x, y) sao cho x thuộc dãy a, y thuộc dãy b và chênh lệch giữa x và y là lớn nhất
Dữ liệu: Nhập vào từ tệp BAI2.INP gồm:
Dòng 1 : Số nguyên dương N ( N ⩽ 1000)
N dòng tiếp theo, mỗi dòng chứa 2 số nguyên ai và bi (ai, bi ⩽ 109)
Kết quả: Ghi ra tệp BAI2.OUT một số nguyên là chênh lệch lớn nhất của hai số (x, y) tìm được.
Ví dụ:
BAI2.INP | BAI2.OUT |
4 1 5 2 6 3 7 4 8 | 7 |
Bài 3 (4 điểm): GIÁ TRỊ CẶP SỐ
Ta định nghĩa giá trị cặp số nguyên dương (a, b) là số lượng ước số chung của a và b. Cho trước cặp số (a, b), hãy tính giá trị của cặp số này
Dữ liệu: Nhập vào từ tệp BAI3.INP gồm hai số nguyên dương a, b (a, b ⩽ 1012)
Kết quả: Ghi ra tệp BAI3.OUT một số nguyên là kết quả tìm được.
Ví dụ:
BAI3.INP | BAI3.OUT |
4 5 | 1 |
Ràng buộc:
Có 50% số test tương ứng với 50% số điểm có A, B ⩽ 100000
50% số test tương ứng với 50% số điểm còn lại không có ràng buộc gì thêm.
Bài 4 (2 điểm): ĐỐI XỨNG LẺ
Xâu đối xứng là xâu đọc từ trái sang phải cũng như đọc từ phải sang trái (Ví dụ “abba” là xâu đối xứng còn “abab” thì không). Ta định nghĩa xâu đối xứng lẻ là xâu đối xứng có độ dài lẻ.
Cho trước một xâu S có độ dài n và vị trí p, yêu cầu tìm độ dài xâu đối xứng lẻ dài nhất là xâu con của S và chứa vị trí p
Dữ liệu: Nhập vào từ tệp văn bản BAI4.INP:
· Dòng đầu chứa 2 số nguyên dương n, p (1 ⩽ p ⩽ n ⩽ 20000)
· Dòng thứ hai chứa xâu S độ dài n gồm các chữ cái tiếng Anh in thường
Kết quả: Ghi ra tệp văn bản BAI4.OUT độ dài xâu đối xứng lẻ dài nhất chứa vị trí p
Ví dụ:
BAI4.INP | BAI4.OUT |
7 7 abbbcce | 1 |
Ràng buộc:
50% số test tương ứng với 50% số điểm có n ⩽ 1000
50% số điểm còn lại không có ràng buộc gì thêm
------ HẾT ------
Bài 1 (8 điểm): TÍNH TỔNG
Cho dãy số a1, a2,..., aN và một số S. Hãy tính tổng các phần tử trong dãy mà chia hết cho S
Dữ liệu: Vào từ tệp văn bản BAI1.INP:
Dòng 1 : Hai số nguyên dương N và S (N ⩽ 105, S ⩽ 109)
Dòng 2 : N số nguyên dương a1, a2,..., aN (ai ⩽ 109)
Kết quả: Ghi ra tệp văn bản BAI1.OUT kết quả tìm được.
Ví dụ:
BAI1.INP | BAI1.OUT |
5 2 2 4 6 8 10 | 30
|
#include <bits/stdc++.h>
using namespace std;
int n,s,i,t;
int main()
{
freopen("bai1.inp","r",stdin);
freopen("bai1.out","w",stdout);
cin>>n>>s;
t=0;
for (int i=1; i<=n; i++)
{
int x;
cin>>x;
if (x%s==0) t+=x;
}
cout<<t;
}
Đề 1 : Nhập từ bàn phím dãy số gồm phần tử ( n nhập từ bàn phím )
- Dòng 1: In ra dãy số đã sắp xếp theo thứ tự tăng dần
- Dòng 2: In ra các phần tử trong dãy số chia hết cho 3
- Dòng 3: Tính tổng các phân tử trong dãy số là số nguyên tố
Đề 2 ; Nhập từ bàn phím dãy số gồm phần tử ( n nhập từ bàn phím )
- Dòng 1: : In ra dãy số đã sắp xếp theo thứ tự giảm dần
- Dòng 2: In ra các phần tử trong dãy số chia hết cho 5
- Dòng 3: Tính tổng các phân tử trong dãy số là số chính phương
Đề 3 : Nhập từ bàn phím dãy số gồm phần tử ( n nhập từ bàn phím )
- Dòng 1: : In ra dãy số đã sắp xếp những số chia hết cho 5 đứng đầu dãy
- Dòng 2: In ra các phần tử trong dãy số chia hết cho 7
- Dòng 3: Tính tổng các phân tử trong dãy số là số đối xứng có trong dãy số
huhu giúp tớ với
Nhập vào một dãy gồm N phần tử. N <= 5 và >= 10 và n phần tử của dãy a, A[i] <1 và >100 (có kiểm tra dữ liệu khi nhập).
A, In ra các phần tử là số nguyên tố của dãy
B. Tìm ƯCLN của tất ca phần tử trong dãy.
C. Tính biểu thức sau S= a11 + a22 + … + ann
D. Sắp xếp dãy tăng dần và in ra dãy sau xắp xếp.
Cho số nguyên dương N ( N ≤ 250 ) và dãy n số nguyên dương A1 A2,..., An mỗi số đều không vượt quá 500. Yêu cầu:
1) Đếm số lượng các phần tử có giá trị lẻ trong dãy số A.
2) Tính tổng giá trị các phần tử đứng vị trí chẵn trong dãy số A
3) Tính tổng giá trị các phần tử đứng vị trí lẻ trong dãy số A.
4) Tính tổng giá trị các phần tử là số chẵn đứng ở vị trí chẵn trong dãy A.
5) Tính tổng giá trị các phần tử là số lẻ đứng ở vị trí lẻ trong dãy A.
6) Tính trung bình cộng các phần tử trong dãy.
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.
Cho dãy số A có N phần tử, tính giá trị lớn nhất của S = | A[i] + A[i+1] + A[i+2] + ... + A[j] | (1 ≤ i ≤ j ≤ N)
uses crt;
var a:array[1..100]of integer;
n,i,s,max,k:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
max:=0;
for i:=1 to n do
for j:=1 to n do
if i<=j then
begin
s:=0;
for k:=i to j do
s:=s+a[k];
if max<s then max:=s;
end;
writeln(max);
readln;
end.
Viết chương trình giải các bài toán sau :
(Mỗi bài 1 chương trình)
1) Cho 1 dãy gồm N phần tử .Tính tổng các phần tử CHẴN trong dãy.
2) Cho 1 dãy gồm N phần tử .Tìm giá trị LỚN nhất trong dãy (N \(\le\) 400).
3) Cho 1 dãy gồm N phần tử .Sắp xếp dãy theo chiều TĂNG dần.
CÁC BẠN GIÚP MÌNH VỚI ! CẢM ƠN !