I have to continuously to post something about programming or mathmatics

but these days I more concentrate on solving project euler problems and spending my whole time to think about how to solve it.

I solved it about 130 problems. solving 200 problems is my first plan.

Anyway

Today I want to post about long division.

when we use computer language we just use division or remainder (/, %) so we don't have to know about how~ this is doing

...

when solving Project euler 129 I needed to long division.

Question is Below~

A number consisting entirely of ones is called a repunit. We shall define R(

*k*) to be a repunit of length*k*; for example, R(6) = 111111.
Given that

*n*is a positive integer and GCD(*n*, 10) = 1, it can be shown that there always exists a value,*k*, for which R(*k*) is divisible by*n*, and let A(*n*) be the least such value of*k*; for example, A(7) = 6 and A(41) = 5.
The least value of

*n*for which A(*n*) first exceeds ten is 17.
Find the least value of

*n*for which A(*n*) first exceeds one-million.
My step

if n is 7

A(7) ???

to use long division

I use below

1 2 3 4 5 6 | int x = 1; int count = 1; while(x != 0){ x = (x *10 + 1) % n count++; } |

this function follow below if n is 7

x:1

count:1

#############

x:4

count:2

#############

x:6

count:3

#############

x:5

count:4

#############

x:2

count:5

#############

x:0

count:6

#############

this is pencil and paper long division.

## No comments:

## Post a Comment