พิจารณาว่าเรามีจำนวนเต็ม n งานของเราคือหาตัวเลขสองตัว a และ b ที่ตรงตามเงื่อนไข 3 ข้อนี้
- a mod b = 0
- a * b > n
- a / b < n
ถ้าไม่พบคู่ใด ให้พิมพ์ -1
ตัวอย่าง ถ้า n = 10 a และ b สามารถเป็น a = 90, b = 10 ซึ่งตรงตามกฎที่กำหนด
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ −
- ให้ b = n a สามารถหาได้จากเงื่อนไข 3 ข้อ
- a mod b = 0 เมื่อ a เป็นจำนวนคูณของ b
- a / b < n ดังนั้น a / b = n - 1 ซึ่ง < n
- (a * b > n) => a = n
ตัวอย่าง
#include <iostream>
using namespace std;
void findAandB(int n) {
int b = n;
int a = b * (n - 1);
if (a * b > n && a / b < n) {
cout << "a: " << a << endl;
cout << "b: " << b;
} else
cout << -1 << endl;
}
int main() {
int n = 10;
findAandB(n);
}
ผลลัพธ์
a: 90 b: 10