cho N và dãy số nguyên a1,a2,...,aN và một số nguyên dương x. Hãy tính tổng các số hạng có giá trị
cho N và dãy nguyên dương a1,a2,...,aN và một số nguyên dương x. hãy tính tổng các số hạng có giá trị bé hơn x trong dãy
Hãy giải bài toán bằng cách liệt kê và sơ đồ khối
#include <bits/stdc++.h>
using namespace std;
long long x,i,n,t,a;
int main()
{
cin>>n>>x;
t=0;
for (i=1; i<=n; i++)
{
cout<<a;
if (a<x) t=t+a;
}
cout<<t;
return 0;
}
Xây dựng thuật toán cho bài toán sau: cho 1 số nguyên dương N và dãy số nguyên A: a1,a2…aN. Hãy tính: a) Tổng các phần tử có giá trị dương: a1+a3+a5+a7 b) đếm xem trong dãy A có bao nhiêu phần tử có giá trị
a: #incldue <bits/stdc++.h>
using namespace std;
long long i,n,x,t;
int main()
{
cin>>n;
t=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x>0) t=t+x;
}
cout<<t;
return 0;
}
Chọn dãy A gồm số nguyên dương N và dãy gồm các số hạng a1,a2...aN.Hãy cho biết có bao nhiêu số hạng trong dãy có giá trị nhỏ hơn 5,nếu có hãy cho biết tổng của chúng là bao nhiêu
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,t,dem;
int main()
{
cin>>n;
t=0;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x<5)
{
t=t+x;
dem++;
}
}
cout<<t<<" "<<dem;
return 0;
}
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.
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;
}
uses crt;
var a:array[1..100]of integer;
i,n,dem,dem1,dem2,t:integer;
s:real;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
repeat
write('A[',i,']='); readln(a[i]);
until a[i]>0;
end;
for i:=1 to n do
write(a[i]:4);
writeln;
dem:=0;
for i:=1 to n do
if a[i]>10 then inc(dem);
writeln('So phan tu lon hon 10 la: ',dem);
dem1:=0;
dem2:=0;
for i:=1 to n do
begin
if a[i] mod 2=0 then inc(dem1)
else inc(dem2);
end;
writeln('So luong so chan la: ',dem1);
writeln('So luong so le la: ',dem2);
t:=0;
s:=1;
for i:=1 to n do
begin
if (i mod 2=0) and (a[i] mod 2<>1) then t:=t+a[i];
if (i mod 2=1) and (a[i] mod 2=0) then s:=s*a[i];
end;
writeln('Tong cac so o vi tri chan co gia tri le la: ',t);
writeln('Tich cac so o vi tri le co gia tri chan la: ',s:4:2);
writeln('Cac so le la: ');
for i:=1 to n do
if a[i] mod 2<>0 then write(a[i]:4);
writeln;
writeln('Cac so chan va lon hon 10 la: ');
for i:=1 to n do
if (a[i] mod 2=0) and (a[i]>10) then write(a[i]:4);
readln;
end.
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;
}
Cho dãy A gồm số nguyên dương N và dãy gồm các số hạng a1,a2...aN. Hãy cho biết có bao nhiêu số hạng trong dãy có giá trị nhỏ hơn 5, nếu có hãy cho biết tổng của chúng là bao nhiêu?