// Энэ удаад for давталтын тухай оруулна.
#include <stdio.h>
int main() {
// Давталт нь гэдэг нь маш чухал зүйлийн нэг юм. (Энэ нээх чухал өгүүлбэр биш).
// Бодлого. нэг бүхэл тоо өгөхөд 1-ээс тэр тоо хүртэл бүх тоог нэг мөрөнд хэвлээд
// дараагийн мөрөнд 1-ээс тэр тоо хүртэлх 3д хуваагддаг тоонуудын нийлбэрийг ол.
// энэ бодлогыг давталт ашиглаж бодно.
// (Давталт үзэх гэж байж тодорхойшдээ яах гэж бичвээ).
int n, i, s;
// бид 3д хуваагддаг тоонуудын нийлбэрийг s гэсэн хувьсагчид хадгалцгаая.
s = 0; // хэрэв бид s гэсэн хувьсагчийн анхны утгыг 0 гэж өгөхгүй бол s-ын
// утга random буюу дурын утгаар зарлагдана. Энийг сайн санах хэрэгтэй!!!
scanf("%d", &n); // 1 бүхэл тоогоо уншиж байна.
/*
for( хувьсагчийн анхын утга; хувьсагчийн биелүүлэх нөхцөл; хувьсагчийн өөрчлөгдөх хэсэг ) {
хэрвээ хувьсагчийн биелүүлэх нөхцөл үнэн байвал энэ {} хаалтан доторх үйлдлүүд хийгдэнэ.
энэ хаалтан доторх үйлдлүүд хийж дууссаны дараа хувьсагч нь өөрчлөгдөнө.
}
Ерөнхий бүтэц бол иймэрхүү.
*/
for(i = 1; i <= n; i = i+1 ) {
// энэ бодлогын хувьд 1ээс эхлэх ёстой тул хувьсагчийн эхлэх утга буюу
// i = 1 болж байгаа юм. Өөрөөр хэлбэл i-ын анхны утга нь 1 юм.
// харин биелүүлэх нөхцлийн хувьд бол 1-ээс N хүртэл хэвлэх ёстой тул i гэсэн
// хувьсагч нь N-ээс бага буюу тэнцүү байвал энэ тоо 1-N хооронд оршиж чадна.
// Иймээс i <= N бага буюу тэнцүү байх шаардлагатай.
// өөрчлөгдөх нь бол бид 1, 2, 3,...N хүртэл хэвлэх тул энэ нь 1ээр өсж байгаа юм.
// Иймээс i = i + 1; буюу i-д i+1 гэсэн утгыг оноож байна.
// Жишээ нь i = 7 байсан гэвэл (i = i + 1) -> (i = 7+1) -> (i = 8);
printf("%d ", i);// энэд хэвлэх ёстой.
if( i%3 == 0 ) {
// хэрвээ i гэсэн тоо нь 3д хуваасан үлдэгдэл нь 0 бол энэ тоо 3д хуваагдах тул
// бидний олох ёстой нийлбэрт нэмэгдэнэ.
s = s+i; // энэд s нь i-ын утгаар нэмэгдэж байна.
}
}
printf("\n%d\n", s); // мөр шилжээд s-ыг хэвлээд мөр шилжиж байна.ы
return 0;
}