Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

จำนวนน้อยที่สุดที่น้อยกว่าหรือเท่ากับ N และมีผลรวมเป็น S ใน C++

ข้อกำหนดโจทย์

กำหนดตัวเลข 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