Given a number n and an array containing 1 to (2n+1) consecutive numbers. Three elements are chosen at random. Find the probability that the elements chosen are in A.P.
Examples:
Input : n = 2
Output : 0.4
The array would be {1, 2, 3, 4, 5}
Out of all elements, triplets which
are in AP: {1, 2, 3}, {2, 3, 4},
{3, 4, 5}, {1, 3, 5}
No of ways to choose elements from
the array: 10 (5C3)
So, probability = 4/10 = 0.4
Input : n = 5
Output : 0.1515
The number of ways to select any 3 numbers from (2n+1) numbers are:(2n + 1) C 3
Now, for the numbers to be in AP:
with common difference 1—{1, 2, 3}, {2, 3, 4}, {3, 4, 5}…{2n-1, 2n, 2n+1}
with common difference 2—{1, 3, 5}, {2, 4, 6}, {3, 5, 7}…{2n-3, 2n-1, 2n+1}
with common difference n— {1, n+1, 2n+1}
Therefore, Total number of AP group of 3 numbers in (2n+1) numbers are:
(2n – 1)+(2n – 3)+(2n – 5) +…+ 3 + 1 = n * n (Sum of first n odd numbers is n * n )
So, probability for 3 randomly chosen numbers in (2n + 1) consecutive numbers to be in AP = (n * n) / (2n + 1) C 3 = 3 n / (4 (n * n) – 1)
C++
// CPP program to find probability that // 3 randomly chosen numbers form AP. #include <bits/stdc++.h> using namespace std; // function to calculate probability double procal(int n) { return (3.0 * n) / (4.0 * (n * n) - 1); } // Driver code to run above function int main() { int a[] = { 1, 2, 3, 4, 5 }; int n = sizeof(a)/sizeof(a[0]); cout << procal(n); return 0; } |
Java
// Java program to find probability that // 3 randomly chosen numbers form AP. class GFG { // function to calculate probability static double procal(int n) { return (3.0 * n) / (4.0 * (n * n) - 1); } // Driver code to run above function public static void main(String arg[]) { int a[] = { 1, 2, 3, 4, 5 }; int n = a.length; System.out.print(Math.round(procal(n) * 1000000.0) / 1000000.0); } } // This code is contributed by Anant Agarwal. |
Python3
# Python3 program to find probability that # 3 randomly chosen numbers form AP. # Function to calculate probability def procal(n): return (3.0 * n) / (4.0 * (n * n) - 1) # Driver code a = [1, 2, 3, 4, 5] n = len(a) print(round(procal(n), 6)) # This code is contributed by Smitha Dinesh Semwal. |
C#
// C# program to find probability that // 3 randomly chosen numbers form AP. using System; class GFG { // function to calculate probability static double procal(int n) { return (3.0 * n) / (4.0 * (n * n) - 1); } // Driver code public static void Main() { int []a = { 1, 2, 3, 4, 5 }; int n = a.Length; Console.Write(Math.Round(procal(n) * 1000000.0) / 1000000.0); } } // This code is contributed by nitin mittal |
PHP
<?php // PHP program to find probability that // 3 randomly chosen numbers form AP. // function to calculate probability function procal($n) { return (3.0 * $n) / (4.0 * ($n * $n) - 1); } // Driver code $a = array(1, 2, 3, 4, 5); $n = sizeof($a); echo procal($n); // This code is contributed by aj_36 ?> |
Output:
0.151515
Time Complexity : O(1)
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

