/* Question: You are required to write code that does the following:-

1. Find out the sum of the squares of the digits of the rpm

2. Multiply the number obtained in (1) by 323

3. Do a cyclic right shift of digits of the rpm i.e.

if Number is 1234, after cyclic right shift, the number will be 4123.

Thereafter, take the last two digits of the number obtained just now, and add it to the number obtained in point 2. Thus, obtaining a new rpm value.

4. Do these steps till the number of years are 10 or the harddisk has reached the maximum RPM

long long int rpm: Original value of RPM

int years: Store the number years that have elapsed

long long int finalRPM: Store the modified value of RPM i.e. the final of RPM */

void solutionRPM(long long int rpm, int &years, long long int &finalRPM) {

//Write your solution code below this line

int sqdRPM, sqdNumber_result, shiftRPM, remainRPM, numdigit, rpmDivide, rpmResult, twodigitsRPM, originalRPM, powerOne, i;

rpmDivide = rpm;

originalRPM = rpm;

remainRPM = rpm%10;

sqdRPM = rpm;

sqdNumber_result = 0;

years = 1;

while ((years<=10) && (finalRPM<=(originalRPM*8))){

while (sqdRPM != 0) {

sqdNumber_result = sqdNumber_result + (sqdRPM % 10)*(sqdRPM % 10); sqdRPM = sqdRPM/10;

} //finding sum of squares of digits of rpm

sqdNumber_result = sqdNumber_result*323; //multiply sum of squares by 323

while (rpmDivide!=0){

rpmResult = rpmDivide/10; rpmDivide = rpmResult;

numdigit++;

} //counting number of digits in rpm

for (i=0, powerOne=1; i<=(numdigit-1); i++){

powerOne = powerOne*10;

} //raising 10 to power of numdigit-1, storing in powerOne

int shiftRPM = (remainRPM)*(powerOne) + (rpm/10); //cyclic right shift of digits

twodigitsRPM = shiftRPM%(powerOne/10); //extracting last two digits

finalRPM = twodigitsRPM + sqdNumber_result; //calculating final RPM

years++;

sqdRPM = finalRPM;

rpm = finalRPM;

rpmDivide=finalRPM;

remainRPM=finalRPM%10;

numdigit=0;//substituting modified RPM for rpm in the next iteration

}

}

some error's I'm getting are:

Input rpm:8232

Your output:The harddisk is likely to crash after 1 years, with RPM of 6303968

Expected output:The harddisk is not affected with the bug. Tested for 10 Years. Final RPM is: 14882

Input rpm:7653

Your output:The harddisk is likely to crash after 1 years, with RPM of 140623784113152 Expected output:The harddisk is likely to crash after 3 years, with RPM of 68252

Output does not match