Chương trình tính tổng các số lẻ bình phương với các yêu cầu sau:
- Chương trình tính tổng sau: S=1+3^2+5^2+…+(2n-1)^2
- Dữ liệu đầu vào: Đọc từ file TONG.INP
- Kết quả là số tự nhiên N trong phạm vi: 0<=N<=10000
- Kết quả ghi vào file: TONG.OUT
Ví dụ:
| TONG.INP | TONG.OUT |
| 3 | 35 |
| 5 | 165 |
Code Pascal
{======================================================
CHUONG TRINH TINH TONG SAU: S=1+3^2+5^2+...+(2n-1)^2
DU LIEU VAO: DOC TU FILE TONG1.INP
GHI KET QUA LA SO TU NHIEN N VOI 0<N<=100000
KET QUA GHI VAO FILE TONG1.OUT
VI DU:
---------------------------
| TONG.INP | TONG.OUT |
---------------------------
| 3 | 35 |
---------------------------
| 5 | 165 |
---------------------------
=======================================================}
program tinhtong1;
uses crt;
var N,i:Integer;
var FileInput, FileOutput:String;
var S, Stemp, Max:LongInt; {S: Luu tong, Stemp: Luu gia tri cua so dang tinh, Max: Luu gioi han toi da cua so tong}
var FileReader:text;
begin
clrscr;
FileInput:='TONG1.INP';
FileOutput:='TONG1.OUT';
Max:=100000; {Dat gioi han gia tri toi da}
{DOC GIA TRI N TU FILE}
assign(FileReader,FileInput);
reset(FileReader);
readln(FileReader,N);
close(FileReader);
{THUC HIEN TINH TONG THEO CONG THUC CHO TRUOC}
for i:=1 to N do
begin
Stemp:=S+(2*i-1)*(2*i-1);
if(Stemp<=Max) then {Neu khong vuot gioi han toi da thi luu ket qua moi vao bien S tu bien Stemp}
begin
S:=Stemp;
end;
end;
{GHI KET QUA RA FILE}
assign(FileReader,FileOutput);
rewrite(FileReader);
write(FileReader,S);
close(FileReader);
writeln('Da ghi ket qua ra file ',FileOutput);
writeln('BAM PHIM BAT KY DE KET THUC!');
readln();
end.
Hy vọng hữu ích với bạn!
Nosomovo