📌  相关文章
📜  等式(a + b)<= n中的’a’的打印值可被x整除

📅  最后修改于: 2021-05-06 21:18:03             🧑  作者: Mango

给定三个数字b,x,n。任务是找到等式(a + b)<= n中的’a’值,以使a + b被x整除。如果没有这样的值,则打印-1。


例子:

Input: b = 10, x = 6, n = 40
Output: 2 8 14 20 26

Input: b = 10, x = 1, n = 10
Output: -1

方法:人们可以找到最小的可能值(b / x + 1)* x – b。然后我们将答案增加x,直到不大于n。这里(b / x +1)* x是被x整除的最小可能值。

下面是上述方法的实现:

C++
// CPP program to Find values of a, in equation
// (a+b)<=n and a+b is divisible by x.
#include 
using namespace std;
  
// function to Find values of a, in equation
// (a+b)<=n and a+b is divisible by x.
void PossibleValues(int b, int x, int n)
{
    // least possible which is divisible by x
    int leastdivisible = (b / x + 1) * x;
  
    int flag = 1;
  
    // run a loop to get required answer
    while (leastdivisible <= n) {
  
        if (leastdivisible - b >= 1) {
            cout << leastdivisible - b << " ";
  
            // increase value by x
            leastdivisible += x;
  
            // answer is possible
            flag = 0;
        }
        else
            break;
    }
  
    if (flag)
        cout << -1;
}
  
// Driver code
int main()
{
    int b = 10, x = 6, n = 40;
  
    // function call
    PossibleValues(b, x, n);
  
    return 0;
}


Java
// Java program to Find values of a, in equation
// (a+b)<=n and a+b is divisible by x.
  
import java.io.*;
  
class GFG {
   
// function to Find values of a, in equation
// (a+b)<=n and a+b is divisible by x.
static void PossibleValues(int b, int x, int n)
{
    // least possible which is divisible by x
    int leastdivisible = (b / x + 1) * x;
  
    int flag = 1;
  
    // run a loop to get required answer
    while (leastdivisible <= n) {
  
        if (leastdivisible - b >= 1) {
            System.out.print( leastdivisible - b + " ");
  
            // increase value by x
            leastdivisible += x;
  
            // answer is possible
            flag = 0;
        }
        else
            break;
    }
  
    if (flag>0)
         System.out.println(-1);
}
  
// Driver code
    public static void main (String[] args) {
            int b = 10, x = 6, n = 40;
  
    // function call
    PossibleValues(b, x, n);
    }
}
  
  
// This code is contributed
// by shs


Python3
# Python3 program to Find values of a, in equation 
# (a+b)<=n and a+b is divisible by x. 
  
# function to Find values of a, in equation 
# (a+b)<=n and a+b is divisible by x. 
def PossibleValues(b, x, n) :
  
    # least possible which is divisible by x 
    leastdivisible = int(b / x + 1) * x 
  
    flag = 1
  
    # run a loop to get required answer 
    while (leastdivisible <= n) : 
  
        if (leastdivisible - b >= 1) : 
            print(leastdivisible - b ,end= " ") 
  
            # increase value by x 
            leastdivisible += x 
  
            # answer is possible 
            flag = 0
          
        else :
            break
      
  
    if (flag != 0) :
        print(-1) 
  
# Driver code 
if __name__=='__main__':
    b = 10
    x = 6
    n = 40
# function call 
    PossibleValues(b, x, n) 
  
# This code is contributed by
# Smitha Dinesh Semwal


C#
// C# program to Find values of a,
// in equation (a+b)<=n and a+b 
// is divisible by x. 
using System;
  
class GFG { 
      
// function to Find values
// of a, in equation (a+b)<=n 
// and a+b is divisible by x. 
static void PossibleValues(int b, int x, int n) 
{ 
      
    // least possible which 
    // is divisible by x 
    int leastdivisible = (b / x + 1) * x; 
  
    int flag = 1; 
  
    // run a loop to get required answer 
    while (leastdivisible <= n) { 
  
        if (leastdivisible - b >= 1) {
              
            Console.Write( leastdivisible - b + " "); 
  
            // increase value by x 
            leastdivisible += x; 
  
            // answer is possible 
            flag = 0; 
        } 
        else
            break; 
    } 
  
    if (flag > 0) 
        Console.WriteLine(-1); 
} 
  
    // Driver code 
    public static void Main () 
    { 
        int b = 10, x = 6, n = 40; 
  
        // function call 
        PossibleValues(b, x, n); 
    } 
} 
  
// This code is contributed by Shubadeep


PHP
= 1)
        {
            echo $leastdivisible - $b . " ";
  
            // increase value by x
            $leastdivisible += $x;
  
            // answer is possible
            $flag = 0;
        }
        else
            break;
    }
  
    if ($flag)
        echo "-1";
}
  
// Driver code
$b = 10;
$x = 6;
$n = 40;
  
// function call
PossibleValues($b, $x, $n);
  
// This code is contributed
// by ChitraNayal
?>


输出:
2 8 14 20 26