Challenge: Little Gaurav and Sequence
Subdomeniu: Algebra (algebra)
Scor cont: 20.0 / 20
Submission status: Accepted
Submission score: 1.0
Submission ID: 464721314
Limbaj: java8
Link challenge: https://www.hackerrank.com/challenges/little-gaurav-and-sequence/problem
Cerinta
Little Gaurav is very fond of numbers and sequences. One day his teacher tells him to find a strange sequence.
$$S = \sum_{i=0, 2^{i}\leq n}^\infty \sum_{j=0}^n 2^{2^{i}+2j}$$
Since this sequence looks a bit difficult, the teacher tells him to find the last digit of $S$.
Little Gaurav is confused because he cannot solve the problem and leaves this problem to the worthy programmers of the world. Help little Gaurav in finding the solution.
**Input Format**
The first line contains $T$, the number of test cases.
$T$ lines follow, each line containing an integer, $N$.
**Output Format**
For each testcase, print the last digit of $S$ in one line.
**Constraints**
$1 \le T \le 1000$
$1 \le N \le 10^{15}$
**Sample Input**
3
1
2
3
**Sample Output**
0
6
0
**Explanation**
For n=1, only i=0 is valid. So S is $2^{2^{0}+0} + 2^{2^{0}+2} = 10$. Hence last digit of S is 0.
For n=2, only i=0 and 1 are valid. So S is
S1(for i=0) is $2^{2^{0}+0} + 2^{2^{0}+2} + 2^{2^{0}+4}= 42$.
S2(for i=1) is $2^{2^{1}+0} + 2^{2^{1}+2} + 2^{2^{1}+4}= 84$.
So last digit of S is 6.
Cod sursa
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int t=in.nextInt();
for(int a0=0;a0<t;a0++){
long n=in.nextLong();
double x=Math.log(n)/Math.log(2);
int y=(int)x+1;
int s=0;
if(y==1)
s=2;
else
s=(y-1)*6;
int a=s%10;
int b=5;
if(n%2==0)
b=1;
int c=(a*b)%10;
System.out.println(c);
}
}
}
HackerRank Algebra – Little Gaurav and Sequence
