TopcoderArchiveVisit Topcoder
SRM1 Oct 2003
SRM 166

LongNumber

Problem statement, definition, constraints, and public examples.

Problem Statement

We generate two infinitely long numbers. The first number is generated by writing down all positive consecutive integers, while the second is generated by writing down all of their squares. We then find the sum of these two numbers. Here are the first 33 digits of the calculation:

  123456789101112131415161718192021...
+ 149162536496481100121144169196225...
= 272619325597593231536305887388246...

The first digit of the result is 2, the second digit is 7, the third is 2 and so on.

Given an int k, return the digit at position k of the resulting number, where the first digit is at position 1.

Definition

Class:
LongNumber
Method:
findDigit
Parameters:
int
Returns:
int
Method signature:
int findDigit(int k)
(be sure your method is public)

Constraints

  • k will be between 1 and 2147483647 inclusive.

Examples

  1. 1
    Returns: 2
  2. 5
    Returns: 1
  3. 78
    Returns: 5
  4. 1000000
    Returns: 6
  5. 1780243932
    Returns: 1
Back to all problems