Sapient Corporation Interview Question
Developer Program EngineersCountry: India
Interview Type: In-Person
public class Checksum {
public static void main(String[] args) {
String num = "321541";
char[] ch = num.toCharArray();
int mult = 0;
for (int i = 0; i < ch.length - 1; i++) {
int val = ch[i] - '0';
mult += val * val;
}
int t = checkCheckSum(mult);
if (t == ch[num.length() - 1]-'0') {
System.out.println("Check Sum Valid");
} else {
System.out.println("Check Sum Invalid :: " + t);
}
}
private static int checkCheckSum(int number) {
String mul = String.valueOf(number);
while (mul.length() > 1) {
char a[] = mul.toCharArray();
int sum = 0;
for (Character c : a) {
int v = c - '0';
sum = sum + v;
}
mul=String.valueOf(sum);
}
return Integer.parseInt(mul);
}
}
package Interview_Specific;
import java.util.Scanner;
/**
* Created by GOOGLE on 8/21/2015.
*/
public class ValidChecksum {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("--------PLEASE ENTER INPUT CHECKSUM-------\n");
int inputNum = in.nextInt();
int lastDigit = (inputNum % 10);
System.out.println("last digit: " + lastDigit);
int remainingNum = (inputNum / 10);
System.out.println("remaining number: " + remainingNum);
int checksum = 0;
while ((remainingNum % 10) > 0) {
checksum = checksum + calculatePower((remainingNum % 10), 2);
System.out.println("checksum at this point of time: " + checksum);
remainingNum = remainingNum / 10;
}
if (checksum == calculatePower(lastDigit, 2))
System.out.println("----CHECKSUM IS VALID----" + checksum);
else
System.out.println("----CHECKSUM IS INVALID----" + checksum);
}
private static int calculatePower(int i, int j) {
System.out.println("value of i and j :" + i + " " + j);
if (j == 0)
return 1;
else {
i = i * calculatePower(i, --j);
}
System.out.println("final value of power: " + i);
return i;
}
}
#include<iostream>
- T-Bon3 February 29, 2012using namespace std;
int main()
{
long int a;
cin>>a;
int last= a%10;
int sum=0;
a=a/10;
int temp;
while(a!=0)
{
temp=a%10;
temp*=temp;
temp%=10;
sum+=temp;
sum%=10;
a=a/10;
}
if(last== sum)
{
cout<<"valid";
}
else
{
cout<<"invalid";
}
}