दो धनात्मक पूर्णांक n और k दिए गए हैं, और हमें धनात्मक पूर्णांक x ज्ञात करना है, जैसे कि (x% k)*(x / k) n के समान हो। तो अगर n और k क्रमशः 4 और 6 हैं, तो आउटपुट 10 होगा। तो (10% 6) * (10 / 6) =4.
जैसा कि हम जानते हैं कि x% k का मान रेंज [1 से k - 1] (0 शामिल नहीं है) में होगा। * के) / (एक्स% के) + (एक्स% के)
उदाहरण
#include<iostream>
using namespace std;
int minValue(int x, int y){
return (x > y)?y:x;
}
int getX(int n, int k) {
int x = INT_MAX;
for (int rem = k - 1; rem > 0; rem--) {
if (n % rem == 0)
x = minValue(x, rem + (n / rem) * k);
}
return x;
}
int main() {
int n = 4, k = 6;
cout << "The minimum value of x: " << getX(n, k);
} आउटपुट
The minimum value of x: 10