Đề bài : ThucHanh04a_Ham.pdf
Dùng khái niệm hàm ko đệ quy để viết các hàm sau (với N nhập từ bàn phím) :
a) Tổng các chữ số của số nguyên dương N nhập vào từ bàn phím
b) Tính số thứ N trong dãy Fibonaci
c) Tổng của N số đầu tiên trong dãy Fibonaci
-----------------------------------------------------------------------------------------
Code :
Câu a : http://pastebin.com/TDLkqmWu hoặc thuchanh4a-bai1a.cpp
Câu b : http://pastebin.com/Qz1fcA43 hoặc thuchanh4a-bai1b.cpp
Câu c : http://pastebin.com/tqrYDqZk hoặc thuchanh4a-bai1c.cpp
-----------------------------------------------------------------------------------------
Câu a
#include <iostream>
using namespace std;
int main ()
{
// Tinh tong cac chu so
int n;
int tong=0;
cout << "Nhap vao so nguyen duong n : " ;
cin >> n;
while ( (n%10)!=0 )
{
tong+= n%10;
n = n/10;
}
cout << "Tong cac chu so la: " << tong << endl;
system("pause");
return 0;
}
----------------------------------------------------------------------------------------------
Câu b
#include <iostream>
using namespace std;
int main ()
{
int n;
cout << "So fibonaci thu n = ";
cin >> n;
int fibo[n+1];
fibo[0]=0; fibo[1]=1;
for (int i=2; i<(n+1); i++)
{
fibo[i] = fibo[i-1] + fibo[i-2];
}
cout << "So fibonaci thu " << n << " la: " << fibo[n] << endl;
system ("pause");
return 0;
}
---------------------------------------------------------------------------------------
Câu c : giống câu b chỉ cần thêm biến tổng rồi thêm vòng lặp for là xong
#include <iostream>
using namespace std;
int main ()
{
int n;
cout << "So fibonaci thu n = ";
cin >> n;
int fibo[n+1];
fibo[0]=0; fibo[1]=1;
int tong=0;
for (int i=2; i<(n+1); i++)
{
fibo[i] = fibo[i-1] + fibo[i-2];
}
for (int i=0; i<(n+1); i++)
{
tong += fibo[i];
}
cout << "So fibonaci thu " << n << " la: " << fibo[n] << endl;
cout << "Tong cua " << n << " so dau trong day fibonaci la: " << tong << endl;
system ("pause");
return 0;
}Thực sự viết theo kiểu đệ quy sẽ ngắn gọn hơn rất nhiều.