Đếm số nguyên tố trong dãy:
Cho dãy gồm N (0<N< 10^6) số a1, a2, a3, ….,aN; (0<ai<10^9).
Hãy đếm số lượng các số nguyên tố có trong dãy số trên.
Viết chương trình nhập một dãy số nguyên gồm N phần tử (N<=1000). Đếm xem dãy có bao nhiêu phần tử là số nguyên tố và tính tổng các số nguyên tố trong dãy.
Program HOC24;
var d,i,n: integer;
a: array[1..1000] of integer;
t: longint;
function nt(x: longint): boolean;
var j: longint;
begin
nt:=true;
if (x=2) or (x=3) then exit;
nt:=false;
if (x=1) or (x mod 2=0) or (x mod 3=0) then exit;
j:=5;
while j<=trunc(sqrt(x)) do
begin
if (x mod j=0) or (x mod (j+2)=0) then exit;
j:=j+6;
end;
nt:=true;
end;
begin
write('Nhap N: '); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
d:=0; t:=0;
for i:=1 to n do
if nt(a[i]) then
begin
d:=d+1;
t:=t+a[i];
end;
writeln('Co ',d,' so nguyen to trong day');
write('Tong cac so nguyen to trong day la: ',t);
readln
end.
uses crt;
var a:array[1..1000]of integer;
i,n,dem,t,j,kt:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
dem:=0;
t:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to a[i]-1 do
if a[i] mod j=0 then kt:=1;
if kt=0 then
begin
inc(dem);
t:=t+a[i];
end;
end;
writeln('So luong so nguyen to la: ',dem);
writeln('Tong cac so nguyen to la: ',t);
readln;
end.
Viết chương trình nhập từ bàn phím số nguyên dương N (N<=100) và dãy A gồm N số nguyên , A1, A2,...,An
a) Đếm số hợp số chẵn và số lẻ
b) Tính tổng các số chẵn
c) đếm số lượng nguyên tố trong dãy
uses crt;
var a:array[1..100]of integer;
i,n,tc,tl,t:integer;
begin
clrscr;
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('A[',i,']='); readln(a[i]);
end;
tc:=0;
tl:=0;
for i:=1 to n do
begin
if a[i] mod 2=0 then tc:=tc+a[i]
else tl:=tl+a[i];
end;
writeln('Tong cac so chan la: ',tc);
writeln('Tong cac so le la: ',tl);
t:=0;
for i:=1 to n do
t:=t+a[i];
writeln('Tong cua day so la: ',t);
readln;
end.
uses crt;
var a:array[1..1000]of integer;
i,n,dem1,dem2,t1,dem3,j,kt:integer;
begin
clrscr;
readln(n);
for i:=1 to n do
readln(a[i]);
dem1:=0;
dem2:=0;
t1:=0;
for i:=1 to n do
begin
if a[i] mod 2=0 then
begin
dem1:=dem1+1;
t1:=t1+a[i];
end;
else dem2:=dem2+1;
end;
dem3:=0;
for i:=1 to n do
if (a[i]>1) then
begin
kt:=0;
for j:=2 to trunc(sqrt(a[i])) do
if a[i] mod j=0 then kt:=1;
if kt=0 then dem3:=dem3+1;
end;
writeln(dem1, ' ',dem2);
writeln(t1);
writeln(dem3);
readln;
end.
Cho số nguyên dương N và dãy A gồm N số nguyên A1, A2, An và một số nguyên k. a) Đếm số lượng các số bằng 0 trong dãy A b) Đếm số lượng các số chẵn trong dãy A c) Tính tổng các số là bội của k trong dãy A d) Đếm số lượng các số bằng k trong dãy A
#include <bits/stdc++.h>
using namespace std;
long long x,i,n,nn;
int main()
{
cin>>n;
int dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x==0) dem++;
}
cout<<dem;
return 0;
}
Input:N nguyên dương ,dãy A gồm N số nguyên A1,A2,...An, số nguyên k
Output:- số lg các số bằng 0 trong dãy
- slg các số chẵn trong dãy
Tổng các số là bội của k trong dãy
- số lg các số các số bằng k tong dãy
+minh hoạ: N=8
....
Bài 4 Số nguyên tố (5,0 điểm)
Cho dãy số nguyên dương gồm n phần tử. Em hãy lập trình đếm và tính tổng các phần tử là số nguyên tố trong dãy.
INPUT: Hiện dòng 1 số phần tử trong mảng, hiện dòng 2 các phần tử
OUTPUT: Hiện số phần tử là số nguyên tố; Tổng các số nguyên tố đó
TEST:
INPUT | OUTPUT |
5 5 12 2 11 7 | 4 25 |
5 5 1 2 4 8 | 2 7 |
|
|
uses crt;
var i,n,x,dem,t,kt,j:integer;
a:array[1..100]of integer;
begin
clrscr;
readln(n);
for i:=1 to n do readln(a[i]);
dem:=0;
t:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to trunc(sqrt(a[i])) do
if a[i] mod j=0 then
begin
kt:=1;
end;
if kt=0 then
begin
dem:=dem+1;
t:=t+a[i];
end;
end;
writeln(dem);
writeln(t);
readln;
end.
Viết chương trình nhập một dãy gồm N (0<N≤1000)số nguyên a1,a2,a3,...aN và một số nguyên B . Đếm số lần xuất hiện của số nguyên N trong dãy số đã nhập
Dữ liệu vào:Nhập từ bàn phím
-Dòng đầu đọc số nguyên N
-Dòng thứ hai là các số của dãy cách nhau một khoảng trắng theo thứ tự a1,a2,a3,..aN
-Dòng thứ ba nhập số nguyên B
-kết quả ra:Xuất ra màn hình:Tổng số lần xuất hiện của B
Ví dụ :
Dữ liệu vào:9,2,4,3,1,5,4,1,1,9,1
Kết quả:3
a.Đếm phần tử xuất hiện nhiều nhất và số lần xuất hiện của nó trong mảng ?
b.Xếp lại dãy đó theo thứ tự tăng dần.Chèn số nguyên X vào dãy sao cho dãy vẫn giữ được thứ tự tăng dần(không được sắp xếp lại )
c.Tìm số nguyên Y và xoá số Y trong mảng trên (giúp em với ạ)
Cho dãy số nguyên a gồm N phần tử. Đếm xem có bao nhiêu cặp (i, j) trong đó i < j và a[i] = a[j]
Input SpecificationDòng đầu là N số lượng phần tử của dãy. (0 < N <= 100000)
Dòng tiếp theo chứa n số nguyên là các phần tử của dãy số a (0< a.i <=1000)
Output SpecificationSố cặp (i,j) thỏa mãn yêu cầu.(Ngôn ngữ C++ nha)
#include <iostream>
#include <map>
using namespace std;
int main() {
int n;
cin >> n;
map<int, int> count;
for (int i = 0; i < n; i++) {
int x;
cin >> x;
count[x]++;
}
int ans = 0;
for (auto p : count) {
int x = p.second;
ans += (x * (x - 1)) / 2;
}
cout << ans;
return 0;
}
Cho 1 dãy số nguyên gồm 1000 số
A,viết thuật toán đếm số lượng các số nguyên tố trong dãy trên
B, dựa vào thuật toán ở ý a viết chương trình để giải bài toán
const fi='dl.pas'
fo='qk.pas'
var f1,f2:text;
i,n,dem,t,dem1,dem2,kt,j:integer;
a:array[1..100]of 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]);
dem:=0;
for i:=1 to n do
if (a[i] mod 2<>0) and (a[i] mod 7=0) then inc(dem);
t:=0;
for i:=1 to n do
if (10<=a[i]) and (a[i]<=30) then t:=t+a[i];
dem1:=0;
for i:=1 to n do
if (a[i]<0) and (a[i] mod 2<>0) then inc(dem1);
dem2:=0;
for i:=1 to n do
if a[i]>1 then
begin
kt:=0;
for j:=2 to a[i]-1 do
if a[i] mod j=0 then kt:=1;
if kt=0 then inc(dem2);
end;
writeln(f2,'So phan tu le chia het cho 7 la: ',dem);
writeln(f2,'Tong cac phan tu thuoc [10,30] la: ',t);
writeln(f2,'So cac phan tu am le la: ',dem1);
writeln(f2,'So phan tu la so nguyen to la: ',dem2);
close(f1);
close(f2);
end.
Cho dãy số gồm n số nguyên (n>0), các phần của dãy số lần lượt có giá trị A1, A2,... . Hãy đếm xem trong dãy A có bao phần tử có giá trị 50 a) Xác định bài toán b) Xây dựng thuật toán
#include <bits/stdc++.h>
using namespace std;
long long n,i,x,dem;
int main()
{
cin>>n;
dem=0;
for (i=1; i<=n; i++)
{
cin>>x;
if (x==50) dem++;
}
cout<<dem;
return 0;
}