fork(3) download
  1. // Энэ удаад for давталтын тухай оруулна.
  2.  
  3. #include <stdio.h>
  4.  
  5. int main() {
  6. // Давталт нь гэдэг нь маш чухал зүйлийн нэг юм. (Энэ нээх чухал өгүүлбэр биш).
  7.  
  8. // Бодлого. нэг бүхэл тоо өгөхөд 1-ээс тэр тоо хүртэл бүх тоог нэг мөрөнд хэвлээд
  9. // дараагийн мөрөнд 1-ээс тэр тоо хүртэлх 3д хуваагддаг тоонуудын нийлбэрийг ол.
  10.  
  11. // энэ бодлогыг давталт ашиглаж бодно.
  12. // (Давталт үзэх гэж байж тодорхойшдээ яах гэж бичвээ).
  13.  
  14. int n, i, s;
  15. // бид 3д хуваагддаг тоонуудын нийлбэрийг s гэсэн хувьсагчид хадгалцгаая.
  16. s = 0; // хэрэв бид s гэсэн хувьсагчийн анхны утгыг 0 гэж өгөхгүй бол s-ын
  17. // утга random буюу дурын утгаар зарлагдана. Энийг сайн санах хэрэгтэй!!!
  18.  
  19. scanf("%d", &n); // 1 бүхэл тоогоо уншиж байна.
  20.  
  21. /*
  22. for( хувьсагчийн анхын утга; хувьсагчийн биелүүлэх нөхцөл; хувьсагчийн өөрчлөгдөх хэсэг ) {
  23. хэрвээ хувьсагчийн биелүүлэх нөхцөл үнэн байвал энэ {} хаалтан доторх үйлдлүүд хийгдэнэ.
  24. энэ хаалтан доторх үйлдлүүд хийж дууссаны дараа хувьсагч нь өөрчлөгдөнө.
  25. }
  26. Ерөнхий бүтэц бол иймэрхүү.
  27. */
  28.  
  29. for(i = 1; i <= n; i = i+1 ) {
  30. // энэ бодлогын хувьд 1ээс эхлэх ёстой тул хувьсагчийн эхлэх утга буюу
  31. // i = 1 болж байгаа юм. Өөрөөр хэлбэл i-ын анхны утга нь 1 юм.
  32.  
  33. // харин биелүүлэх нөхцлийн хувьд бол 1-ээс N хүртэл хэвлэх ёстой тул i гэсэн
  34. // хувьсагч нь N-ээс бага буюу тэнцүү байвал энэ тоо 1-N хооронд оршиж чадна.
  35. // Иймээс i <= N бага буюу тэнцүү байх шаардлагатай.
  36.  
  37. // өөрчлөгдөх нь бол бид 1, 2, 3,...N хүртэл хэвлэх тул энэ нь 1ээр өсж байгаа юм.
  38. // Иймээс i = i + 1; буюу i-д i+1 гэсэн утгыг оноож байна.
  39. // Жишээ нь i = 7 байсан гэвэл (i = i + 1) -> (i = 7+1) -> (i = 8);
  40.  
  41. printf("%d ", i);// энэд хэвлэх ёстой.
  42.  
  43. if( i%3 == 0 ) {
  44. // хэрвээ i гэсэн тоо нь 3д хуваасан үлдэгдэл нь 0 бол энэ тоо 3д хуваагдах тул
  45. // бидний олох ёстой нийлбэрт нэмэгдэнэ.
  46. s = s+i; // энэд s нь i-ын утгаар нэмэгдэж байна.
  47. }
  48. }
  49. printf("\n%d\n", s); // мөр шилжээд s-ыг хэвлээд мөр шилжиж байна.ы
  50. return 0;
  51. }
Success #stdin #stdout 0s 4484KB
stdin
10
stdout
1 2 3 4 5 6 7 8 9 10 
18