给定一个函数F(n) = P – (0.006 * n) ,其中 P 是给定的。给定一个整数列表和一个数字, .任务是从给定的列表中找到函数值最接近的数字 .
例子:
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
方法:迭代给定列表中的每个值并为每个值找到 F(n)。现在,比较 F(n) 和 A 的每个值的绝对差与 ,其绝对差异最小就是答案。
下面是上述方法的实现:
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
输出:
1000
如果您希望与专家一起参加现场课程,请参阅DSA 现场工作专业课程和学生竞争性编程现场课程。