@ -0,0 +1,15 @@
EXE=a.out
CC=gcc
CFLAGS=-lm -lcrypt -O2 -Wall -Wextra -pipe -DONLINE_JUDGE
OBJ=main.cpp
.PHONY: clean test
test: $(EXE)
./$(EXE) <d0 | diff --color=always a0 -
$(EXE): $(OBJ)
$(CC) $(CFLAGS) -o $@ $(OBJ)
clean:
rm -rf $(EXE)
@ -0,0 +1,3 @@
3
6
12
7
9901
@ -0,0 +1,24 @@
#include <cstdio>
#include <cstdint>
#include <cassert>
int main()
{
uint64_t N;
while (scanf("%lu\n", &N) != EOF)
uint64_t cmp = 1;
unsigned cmp_i = 1;
for (; cmp % N != 0 ;)
/*
* 11 = d+r
* 111 mod d === (d+r)*10 + 1 mod d === r10 + 1 mod d
*/
cmp = (cmp % N) * 10 + 1;
++cmp_i;
}
printf("%u\n", cmp_i);