Solutions for Skillrack Inlab 4
Total time : 20 mins
Challenges : 1
Question (Arithmetic Progression)
An Arithmetic Progression(AP) is described by the first term ‘f’ and the common difference’. The n-th term of an AP is described by a_n= f+(n-1)d. The progression 1,4,9 .. is an AP. Given the f,d n, k, p , q, Develop a program in C++ using the class, to represent an arithmetic progression and provide methods to compute:
(i) n-th term of the arithmetic progression
(ii) r such that a_r=k. If there is no r such that a_r=k, the program should print zero.
(iii) Absolute Difference between a_p and a_q
Input Format:
First line contains the first term of the AP
Next line contains the common difference d
Next line contains the value of k
Next line contains the value of p
Next line contains the value of q
Output Format:
First line should contain the nth of the arithmetic progression
Next line should contain the value of ‘r’
Next line should contain the absolute difference between a_p and a_q
Boundary Conditions:
a , d are integers
Boundary Conditions:
a , d are integers
n,p,q are all positive integers
Solution
#include<stdio.h> #include<> using namespace std; class apr { int first; int diff; public: void get(); int compute_term(unsigned int n); int find_r(int k); int abs_diff(unsigned int p,unsigned int q); }; void apr :: get() { cin>>first>>diff; } int apr :: compute_term(unsigned int n) { return(first+(n-1)*diff); } int apr :: find_r(int k) { return(((k-first)/diff)+1); } int apr :: abs_diff(unsigned int p,unsigned int q) { return(abs((p-q)*diff)); } int main() { apr ap1; unsigned int n,p,q; int k; ap1.get(); cin>>n; cout<<ap1.compute_term(n)<<endl; cin>>k; cout<<ap1.find_r(k)<<endl; cin>>p>>q; cout<<ap1.abs_diff(p,q)<<endl; }
Input
Array : 2 4 6 8 10 ... INPUT : 2 2 5 6 3 2
Output
OUTPUT : 10 3 2 This is the concept for the problem and subscribe for notification via main for anyother updation in the code.
No comments:
Post a Comment