# 算法题：满足给定方程的最小正整数X

2021年4月28日19:54:35 发表评论 908 次浏览

(X/K)*(X%K)= N

## C ++

``````//C++ Program to implement
//the above approach
#include <bits/stdc++.h>
using namespace std;

//Function to find out the smallest
//positive integer for the equation
int findMinSoln( int n, int k)
{
//Stores the minimum
int minSoln = INT_MAX;

//Iterate till K
for ( int i = 1; i <k; i++) {

//Check if n is divisible by i
if (n % i == 0)
minSoln
= min(minSoln, (n /i) * k + i);
}

return minSoln;
}

//Driver Code
int main()
{
int n = 4, k = 6;
cout <<findMinSoln(n, k);
}``````

## Java

``````//Java Program to implement
//the above approach
import java.util.*;
class GFG{

//Function to find out the smallest
//positive integer for the equation
static int findMinSoln( int n, int k)
{
//Stores the minimum
int minSoln = Integer.MAX_VALUE;

//Iterate till K
for ( int i = 1 ; i <k; i++)
{

//Check if n is divisible by i
if (n % i == 0 )
minSoln = Math.min(minSoln, (n /i) * k + i);
}

return minSoln;
}

//Driver Code
public static void main(String[] args)
{
int n = 4 , k = 6 ;
System.out.println(findMinSoln(n, k));
}
}

//This code is contributed by Ritik Bansal``````

## Python3

``````# Python3 program to implement
# the above approach
import sys

# Function to find out the smallest
# positive integer for the equation
def findMinSoln(n, k):

# Stores the minimum
minSoln = sys.maxsize;

# Iterate till K
for i in range ( 1 , k):

# Check if n is divisible by i
if (n % i = = 0 ):
minSoln = min (minSoln, (n //i) * k + i);

return minSoln;

# Driver Code
if __name__ = = '__main__' :

n = 4 ;
k = 6 ;

print (findMinSoln(n, k));

# This code is contributed by amal kumar choubey``````

## C#

``````//C# program to implement
//the above approach
using System;

class GFG{

//Function to find out the smallest
//positive integer for the equation
static int findMinSoln( int n, int k)
{

//Stores the minimum
int minSoln = int .MaxValue;

//Iterate till K
for ( int i = 1; i <k; i++)
{

//Check if n is divisible by i
if (n % i == 0)
minSoln = Math.Min(minSoln, (n /i) * k + i);
}

return minSoln;
}

//Driver Code
public static void Main(String[] args)
{
int n = 4, k = 6;

Console.WriteLine(findMinSoln(n, k));
}
}

//This code is contributed by amal kumar choubey``````

``10``