ข้อกำหนดโจทย์
กำหนดตัวเลข N ตัวจาก 1 ถึง N และตัวเลข S งานคือพิมพ์จำนวนตัวเลขน้อยที่สุดที่บวกกันได้ S
ตัวอย่าง
ถ้า n = 7 และ s = 10 แล้วต้องการตัวเลขขั้นต่ำ 2 ตัว
(9, 1) (8, 2) (7, 3) (6, 4)
อัลกอริทึม
คำตอบสามารถคำนวณได้โดยสูตรด้านล่าง (S/N) + 1 ถ้า { S % N > 0 }
ตัวอย่างโค้ด C++
#include <bits/stdc++.h>
using namespace std;
int getMinNumbers(int n, int s) {
return s % n ? s / n + 1 : s / 2;
}
int main() {
int n = 7;
int s = 10;
cout << "Required minimum numbers = " << getMinNumbers(n, s) << endl;
return 0;
}
เมื่อคุณคอมไพล์และรันโปรแกรมด้านบน จะได้ผลลัพธ์ดังนี้
ผลลัพธ์
Required minimum numbers = 2