# Find number from given list for which value of the function is closest to A

• Last Updated : 27 May, 2022

Given a function F(n) = P – (0.006 * n), where P is given. Given a list of integers and a number, . The task is to find the number from the given list for which the value of the function is closest to
Examples

Input : P = 12, A = 5
List = {1000, 2000}
Output : 1
Explanation :
Given, P=12, A=5
For 1000, F(1000) is 12 - 1000Ã—0.006 = 6
For 2000, F(2000) is 12 - 2000Ã—0.006 = 0
As the nearest value to 5 is 6,
so the answer is 1000.

Input : P = 21, A = -11
List = {81234, 94124, 52141}
Output : 3

Approach: Iterate over each value in the given list and find F(n) for every value. Now, compare the absolute difference of every value of F(n) and A and the value of , for which the absolute difference is minimum is the answer.
Below is the implementation of the above approach:

## C++

 // C++ program to find number from// given list for which value of the// function is closest to A#include using namespace std; // Function to find number from// given list for which value of the// function is closest to Aint leastValue(int P, int A, int N, int a[]){     // Stores the final index    int ans = -1;     // Declaring a variable to store    // the minimum absolute difference    float tmp = (float)INFINITY;     for (int i = 0; i < N; i++)    {         // Finding F(n)        float t = P - a[i] * 0.006;         // Updating the index of the answer if        // new absolute difference is less than tmp        if (abs(t-A) < tmp)        {            tmp = abs(t - A);            ans = i;        }    }    return a[ans];} // Driver codeint main(){    int N = 2, P = 12, A = 2005;    int a[] = {1000, 2000};     cout << leastValue(P, A, N, a) << endl;} // This code is contributed by// sanjeev2552

## Java

 // Java program to find number from// given list for which value of the// function is closest to Aimport java.util.*; class GFG{ // Function to find number from// given list for which value of the// function is closest to Astatic int leastValue(int P, int A,                      int N, int a[]){     // Stores the final index    int ans = -1;     // Declaring a variable to store    // the minimum absolute difference    float tmp = Float.MAX_VALUE;     for (int i = 0; i < N; i++)    {         // Finding F(n)        float t = (float) (P - a[i] * 0.006);         // Updating the index of the answer if        // new absolute difference is less than tmp        if (Math.abs(t-A) < tmp)        {            tmp = Math.abs(t - A);            ans = i;        }    }    return a[ans];} // Driver codepublic static void main(String[] args){    int N = 2, P = 12, A = 2005;    int a[] = {1000, 2000};     System.out.println(leastValue(P, A, N, a));}} // This code is contributed by 29AjayKumar

## Python3

 # Python program to find number from# given list for which value of the# function is closest to A # Function to find number from# given list for which value of the# function is closest to Adef leastValue(P, A, N, a):    # Stores the final index    ans = -1         # Declaring a variable to store    # the minimum absolute difference    tmp = float('inf')    for i in range(N):        # Finding F(n)        t = P - a[i] * 0.006                 # Updating the index of the answer if        # new absolute difference is less than tmp        if abs(t - A) < tmp:            tmp = abs(t - A)            ans = i                 return a[ans] # Driver CodeN, P, A = 2, 12, 5a = [1000, 2000] print(leastValue(P, A, N, a))

## C#

 // C# program to find number from// given list for which value of the// function is closest to Ausing System;     class GFG{ // Function to find number from// given list for which value of the// function is closest to Astatic int leastValue(int P, int A,                      int N, int []a){     // Stores the final index    int ans = -1;     // Declaring a variable to store    // the minimum absolute difference    float tmp = float.MaxValue;     for (int i = 0; i < N; i++)    {         // Finding F(n)        float t = (float) (P - a[i] * 0.006);         // Updating the index of the answer if        // new absolute difference is less than tmp        if (Math.Abs(t-A) < tmp)        {            tmp = Math.Abs(t - A);            ans = i;        }    }    return a[ans];} // Driver codepublic static void Main(String[] args){    int N = 2, P = 12, A = 2005;    int []a = {1000, 2000};     Console.WriteLine(leastValue(P, A, N, a));}} // This code is contributed by Rajput-Ji



## Javascript



Output:

1000

Time Complexity: O(N), where N represents the size of the array.
Auxiliary Space: O(1), no extra space is required, so it is a constant.

My Personal Notes arrow_drop_up