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.
Số chính phương là một số nguyên có căn bậc hai là một số nguyên (ví dụ: 9 là số chính phương vì =3). Viết chương trình tìm, đếm và tính tổng các số chính phương có trong dãy số nguyên dương gồm N phần tử A1, A2, …, AN.
Dữ liệu vào: Nhập từ bàn phím.
Kết quả ra: Xuất ra màn hình gồm 3 dòng:
- Dòng 1 ghi các số chính phương của dãy giữ nguyên thứ tự xuất hiện (mỗi số cách nhau một dấu cách).
- Dòng 2 ghi số lượng số chính phương trong dãy.
- Dòng 3 ghi tổng của các số chính phương trong dãy.
Ví dụ:
Nhập từ bàn phím |
Xuất ra màn hình |
N = 7 11 4 100 5 25 36 10 |
4 100 25 36 4 165 |
GIẢI :
Program HOC24;
var n,i,d: integer;
t: longint;
a: array[1..32000] of integer;
function cp(x: integer): boolean;
begin
cp:=false;
if x=sqr(trunc(sqrt(x))) then cp:=true;
end;
begin
write('N='); readln(n);
for i:=1 to n do read(a[i]);
readln;
t:=0; d:=0;
for i:=1 to n do
if cp(a[i]) then
begin
write(a[i],' ');
inc(d);
t:=t+a[i];
end;
writeln;
writeln(d);
write(t);
readln
end.
Program HOC24;
var x,i,n: integer;
a: array[1..32000] of integer;
begin
write('Nhap n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(x);
inc(a[x]);
end;
for i:=1 to 32000 do
if a[i]<>0 then write(i,' ');
writeln;
for i:=1 to n do if a[i]<>0 then writeln(i,':',a[i]);
readln
end.
program Doi_giay;
var n,i,j,d:longint;
a,b:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for j:=1 to n do
read(b[j]);
for i:=1 to n do
for j:=1 to n do
if a[i]=b[j] then begin a[i]:=0;
b[j]:=0; end;
for i:=1 to n do
if a[i]<>0 then d:=d+1;
write(d);
end.
Mình có bài này ở gmail bạn gửi địa chỉ gmail của bạn để mình chuyển đáp án nhé
Uses Crt;
Var i,n,m:integer;
a:array[1..100] of integer;
Begin
Clrscr;
Write('Nhap n = ');
Readln(n);
For i:=1 to n do
Begin
Write('A[',i,'] = ');Readln(a[i]);
End;
m:=A[1];
For i:=2 to n do If A[i]<m then m:=A[i];
Writeln(m);
Readln;
End.
viết lại nha
Var i,n,m:integer;
a:array[1..100] of integer;
Begin
Write('Nhap n = ');
Readln(n);
For i:=1 to n do
Begin
Write('A[',i,'] = ');
Readln(a[i]);
End;
m:=A[1];
For i:=2 to n do If A[i]>m then m:=A[i];
Writeln(' So lon nhat trong day la: ',m);
Readln;
End.
var i,n,d:word;
t,b,kt:array[1..10] of word;
procedure nhap;
var f:text;
begin
assign(f,'dulieu.inp');
reset(f);
readln(f,n);
for i:=1 to n do read(f,t[i]);
close(f);
fillchar(b,sizeof(kt),0);
end;
procedure tailap;
var i,j,d:integer;
begin
for i:=1 to n do
begin
d:=0;
for j:=1 to n do
begin
if b[j]=0 then d:=d+1;
if d=t[i]+1 then break;
end;
b[j]:=i;
end;
end;
BEGIN
nhap;
tailap;
for i:=1 to n do write(b[i],' ');
readln
END.
Program So_nho_nhat;
uses crt;
Var i,n:Byte; so,Min:Integer;
Begin
clrscr;
Writeln('TIM SO LON NHAT TRONG N SO NGUYEN');
Writeln('---------------------------------'); Write('Cho biet so phan tu nhap N= '); Readln(n); i:=1;
Write('So thu ',i,' = '); Readln(so); Min:=so; For i:=2 To N Do Begin
Write('So thu ',i,' = '); Readln(so);
If Min < so Then Min:=so;
End;
Writeln;
Writeln('+So lon nhat trong ',n,' so vua nhap la so: ',Min);
Writeln(' Bam phim de ket thuc');
Readln;
End.
bài này mới đúng nhe bạn:
program sntmax;
uses crt;
var n,i:word;
a:array[1..10000] of longint;
max:longint;
f:text;
function ktsnt(b:longint):boolean;
var dem,j:byte;
begin
dem:=0;
for j:=1 to b do
if b mod j =0 then dem:=dem+1;
ktsnt:=dem=2;
end;
begin
clrscr;
readln(n);
while (n<1) or (n>10000) do readln(n);
for i:=1 to n do read(a[i]);
readln;
assign(f,'D:\NTOMAX.OUT');
rewrite(f);
max:=0;
for i:=1 to n do
if ktsnt(a[i])=true then
begin
max:=a[i];
break;
end;
if max=0 then write(f,'khong co so nguyen to trong mang')
else
begin
for i:=1 to n do
if (ktsnt(a[i])=true) and (a[i]>max) then max:=a[i];
write(f,max);
end;
close(f);
readln;
end.
1 B
2 B
3 C
4 D
5 A
6 C
7 C
8 D
9 C
10 D
ở đâu ra mẹ