Bài 1 : CHo N và dãy số a1;a2...;aN. Viết thuật toán tính tổng những số âm trong dãy trên.
Bài 2 : CHo N và dãy số a1;a2...;aN. Viết thuật toán chỉ ra các phần tử bằng 0 trong dãy trên.
Bài 1: Cho n và dãy số nguyên a1, a2, …, an. Tính và in ra màn hình tổng các số trong dãy a.
Bài 2. Cho n và dãy số nguyên a1, a2, …, an. In ra màn hình giá trị nhỏ nhất trong dãy a.
1:
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
t=t+x;
}
cout<<t;
return 0;
}
Bài 1. Cho dãy số nguyên N và dãy a1, a2, a3, .., an (0<=N<=10^6; i=0,1,2,…,N – 1; |a(i)|<=10^6.Yêu cầu: Cho N và dãy a1, a2, a3, …, an; xóa phần tử x và xuất mảng sau khi xóa.
Bài 2. Cho dãy số nguyên N và dãy a1, a2, a3, …, an(0<=N<=10^6; i=0,1,2,…,N – 1; |a(i)|<=10^6.Yêu cầu: Cho N và dãy a1, a2, a3, …, an; xóa các phần tử trùng nhau chỉ giữ lại một phần tử và xuất mảng sau khi xóa.
Ai đó giúp mình 2 bài này theo pascal với được ko? Mình thật sự không biết làm :(( Ai đó giúp mình 2 bài này theo pascal với được ko? Mình xin cảm ơn nhiều!!
Bài 1:
uses crt;
var a:array[1..1000000]of longint;
i,n,x:longint;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
write('Nhap x='); readln(x);
for i:=1 to n do
if a[i]<>x then write(a[i]:4);
readln;
end.
Xác định Input, output và viết thuật toán cho bài toán: Cho N và dãy số a1,a1,...,aN. Dãy số được gọi là đối xứng nếu ai = aN-i+1 với i = 1,...,N-1
Kiểm tra xem dãy đã cho có là dãy đối xứng hay không
input: Dãy số nguyên
Output: Kiểm tra xem dãy có đối xứng không
*Thuật toán
Bước 1: Nhập n và nhập dãy số
Bước 2: i←1; kt←true;
Bước 3: Nếu a[i]<>a[n-i+1] thì kt←false;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Nếu kt=true thì đây là dãy đối xứng và ngược lại
Bước 7: Kết thúc
xây dựng bài toán cho các bài toán sau:
a)nhập vào số nguyên N và dãy các số a1,a2,...,an.hãy tính tổng các số dương có trong dãy
b)nhập vào số nguyên N và dãy các số a1,a2,...,an.hãy đếm các số dương có trong dãy
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;
}
Bài 1: Cho dãy số A1, A2, A3,.., AN và một số K.
Cho biết trong dãy số đó có bao nhiêu số bằng K.
Bài 2: Cho dãy số A1, A2, A3,.., AN. Tìm số nhỏ nhất trong dãy đó.
Xây dựng thuật toán cho bài toán sau: Cho N và dãy số a 1 , . . . . , a n . Tính và hiển thị tổng các số chẵn trong dãy
Bước 1: Nhập N và dãy số a 1 , . . . . , a n
Bước 2: i ←1;S ← 0 (0,5đ)
Bước 3: i > N thì sang bước 6 ngược lại sang bước 4 (0,5đ)
Bước 4: Nếu ai chia hết cho 2 thì S ←S + ai ; (0,5đ)
Bước 5: i ← i+1; quay lại bước 3
Bước 6: dừng và đưa S ra màn hình. (0,5đ)
a)
Input: Dãy n số nguyên
Output: Đếm xem trong dãy đó có bao nhiêu số nguyên dương
b)
Bước 1: Nhập n và nhập dãy số
Bước 2: dem←0; i←1;
Bước 3: Nếu a[i]>0 thì dem←dem+1;
Bước 4: i←i+1;
Bước 5: Nếu i<=n thì quay lại bước 3
Bước 6: Xuất dem
Bước 7: Kết thúc
Input: Số nguyên N và dãy a1,a2,...,aN
Output: Số số nguyên có trong dãy
Thuật toán:
- Bước 1: Nhập N và dãy a1,a2,...,aN
- Bước 2: d←0; i←1;
- Bước 3: Nếu i>N thì in ra có d số dương trong dãy và kết thúc
- Bước 4: Nếu ai > 0 thì d←d+1;
- Bước 5: i←i+1, quay lại bước 3