Kĩ thuật cộng dồn – nhân dồn
Cộng dồn (nhân dồn) hay còn gọi là cộng gom (nhân gom) là một kĩ thuật hết sức cơ bản trong lập trình, chúng ta hãy cùng tìm hiểu kĩ thuật này qua bài toán sau:
Viết chương trình tính tổng sau (N là số tự nhiên)
S = 1 + 2 + 3 + … + N (N < 50 000)
Dữ liệu vào file: Sum.inp Dữ liệu ra file: Sum.out Chứa số n Chứa tổng S làm tròn lấy 2 chữ số thập phân Bài toán tương tự: Viết chương trình tính các tổng (tích) sau với (n<1000)
S = 1 + 1/2 + … + 1/n.
Code cộng dồn trong Pascal
program bai_1_1; var n,i:word; S:Real;f:text; begin {----Doc file ----} assign(f,'sum.inp'); reset(f); readln(f,n);close(f); {----Tinh S = 1+ 1/2 +...+1/n-----} S:=0; for i:=1 to n do S:=S+1/(i); {----Ghi file ----} assign(f,'sum.out'); rewrite(f); write(f,S:0:2); close(f); end.
Code cộng dồn trong Python
s = 0 f = open("Sum.inp") fo = open("Sum.out", "w") a = int(f.read()) for i in range(1,a+1): s = s+i f.close() s = str(s) fo.write(s) fo.close()
Code cộng dồn trong C
#include<stdio.h> int main() { int n; long S; S = 0; i = 1; printf("\nNhập vào số n: "); scanf("%d", &n); for(int i = 1; i <=n; i++) { S = S + i; } printf("\nTổng 1 + 2 + ... + %d là %ld: ", n, S); }
Code cộng dồn trong C++
#include <iostream> using namespace std; int main() { int n; long s = 0; cout<<"Nhập vào số n: "; cin>> n; for(int i = 1; i <= n; i++){ s += i; } cout<<"Tổng 1 + 2 + 3 +... + "<<n<<" là: "<<s; cout<<"\n----------------------------------\n"; cout<<"Chương trình này được đăng tại Freetuts.net"; }
Cộng dồn trong Scratch
Cộng dồn trong Scratch giao diện tiếng anh
Cộng dồn trong Scratch giao diện tiếng Việt