# 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,

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 A``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``)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 code``int` `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 A``import` `java.util.*;` `class` `GFG``{` `// Function to find number from``// given list for which value of the``// function is closest to A``static` `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 code``public` `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 A``def` `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 Code``N, P, A ``=` `2``, ``12``, ``5``a ``=` `[``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 A``using` `System;``    ` `class` `GFG``{` `// Function to find number from``// given list for which value of the``// function is closest to A``static` `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 code``public` `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`

## PHP

 ``

## 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