Position in Fraction
You have a fraction . You need to find the first occurrence of digit c into decimal notation of the fraction after decimal point.
Input
The first contains three single positive integers a, b, c (1 ≤ a < b ≤ 105, 0 ≤ c ≤ 9).
Output
Print position of the first occurrence of digit c into the fraction. Positions are numbered from 1 after decimal point. It there is no such position, print -1.
Examples
Input
1 2 0
Output
2
Input
2 3 7
Output
-1
Note
The fraction in the first example has the following decimal notation: . The first zero stands on second position.
The fraction in the second example has the following decimal notation: . There is no digit 7 in decimal notation of the
题意: 输入a,b,c,找到a/b中从小数点后第几位出现c,如果没出现输出-1.
思路:说起来真的很丢人,想了挺久的甚至想用大数,后来学长提醒用模拟除法,就是模拟除法的过程,AC代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
int a,b,c;
while(scanf("%d%d%d",&a,&b,&c)!=EOF){
int ans = 1;
while(ans<10000){
if((a*10/b)%10!=c){
a = a*10%b; //模拟除法
ans++;
}
else{
printf("%d\n",ans);
break;
}
}
if(ans == 10000)
printf("-1\n");
}
return 0;
}