Académique Documents
Professionnel Documents
Culture Documents
Е-НЭЭЛТТЭЙ ИНСТИТУТ
Алгоритм ба програмчлал
Лекц - 6
www.emust.edu.mn
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Агуулга:
01 Алгоритмын үр нөлөө
01
02
02 Алгоритм
Давхар давталтууд
03 Нэмэлт
www.emust.edu.mn
Давхар давталт
int main() {
int i, j, n;
double s, p;
i = 1;
s = 0;
p = 1;
j = 1;
cin >> n;
for (i = i; i <= n; i += 2) {
for (j = j; j <= i; j++) {
p = p * j;
cout << p << endl;
}
s = s + p;
}
cout <<"sum"<< s << endl;
return 0;
}
Жишээ 2. x өгөгдсөн бол
Z=1+2x/2!+4x/4!+6x/6! … 20x/20!
илэрхийллийн утгыг олох.
i = 1;
z = 1;
p = 1;
j = 1;
n = 10;
cin >> x;
for (i = i; i <= n; i++) {
for (j = j; j <= i; j++) {
p = p * j;
cout << z << endl;
}
z = (z + 2 * i * x) / p;
}
cout << "y=(z+2*i*x)/(2*i)= " << z << endl;
return 0; }
Жишээ 3. n бүхэл тоо өгөгджээ.
1-ээс n хүртэлх бүх тэгш
тоонуудыг өөрөөс нь 2 дахин
бага тоон зэрэгт дэвшүүлж
гарсан утгуудын нийлбэрийг ол.
#include <iostream>
using namespace std;
int main() {
int n, m, i, j, s;
n = 50;
m = 1155;
s = 0;
i = n;
for (i = i ; i <= m ; i += 1) {
cout << i << endl;
if (i % 3 == 0) {
s = s + i;
}
}
cout << s << endl;
}
Жишээ 5. Өөрийнхөө
цифрүүдийн нийлбэрт
хуваагддаг бүх 3 оронтой тоог
хэвлэ.
* Ийм тоог сайн тоо гэж
нэрлэдэг.
* Гаднах давталтаар бүх 3
оронтой тоог гарган авна.
* Дотоод давталтаар i
хувьсагчид байгаа 3 оронтой
тооны цифрийн нийлбэрийг S
хувьсагчийг ашиглан олно.
* i тоо нь S цифрийн нийлбэрт
хуваагдаж байвал түүнийг
хэвлэнэ.
d = 0;
i = 100;
j = i;
s = 0;
for (i = 100 ; i <= 1000 ; i +=
1) {
for (j = 1 ; j <= j ; j += 1) {
digit = j % 10;
j = (int) ((double) j / 10);
s = s + digit;
if (i % s == 0) {
cout << i << endl;
}
}
}
}
Жишээ 6. Бүх 4 оронтой палиндром
тооны нийт тоог ол. Палиндром тоо нь
урд хойноос нь уншихад ижил утгатай
байдаг тоо юм.
reverse = 0;
cin >> num;
n = num;
while (num != 0) {
digit = num % 10;
reverse = digit + reverse * 10;
num = (int) ((double) num / 10);
}
if (n == reverse) {
cout << "Палиндром тоо мөн байна"
<< endl;
} else {
cout << "Палиндром тоо биш байна"
<< endl;
}
}
ВИРТУАЛ ТЕХНОЛОГИЙН ТЭНХИМ,
Е-НЭЭЛТТЭЙ ИНСТИТУТ
www.emust.edu.mn
01 Рекурсын тухай
01
02 Рекурсын шинж чанарууд
02
03 Рекурсын давуу болон сул тал
Эндээс харвал n-ийн факториал гэдэг бол (n-1)-ийн факториалийг n-ээр үржсэнтэй
тэнцэнэ. Иймд n-ийн факториалийг олохын тулд (n-1)-ийн факториалийг олох
шаардлагатай гэсэн үг.
Харин (n-1)-ийн факториалийг олохын тулд (n-2)-ийн факториалийг олох хэрэгтэй гэх
мэтчилэн үргэлжилнэ. Харин хамгийн эцсийн шатанд 1-ийн факториалийг олох буюу энэ
нь 1 байна.
Виртуал Технологийн Тэнхим, Е-НЭЭЛТТЭЙ ИНСТИТУТ
Рекурс дуудалт
Харин хамгийн эцсийн шатанд 1-ийн факториалийг олох бодлогын алхмуудыг
дараах хүснэгтээр харуулъя.
Бодлого Үр дүн
1! 1
2! 2*1! = 2*1 = 2
3! 3*2! = 3*2 = 6
4! 4*3! = 4*6 = 24
Eyreg hoer too oruul: 100 90 Eyreg hoer too oruul 100 65
Hamgiin ih huvaagch: 100 ba 65 ni 5
Hamgiin ih huvaagch ni 10 --------------------------------
-------------------------------- Process exited after 5.545 seconds with
Process exited after 2.556 return value 0
seconds with return value 0 Press any key to continue . . .
Press any key to continue . . . .