
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