Description
现有一式子 a / b. 你需要找出数字 c 在小数点后第一次出现的位置
Input
输入包含三个整数 a, b, c (1?≤?a?<?b?≤?105, 0?≤?c?≤?9).
Output
输出数字 c 第一次在小数点后出现的位置,如果 c 不在小数点后出现输出 -1
Sample Input
Input
1 2 0
Output
2
Input
2 3 7
Output
-1
思路:因为有的小数为无线不循环小数,不能用double型变量把数据算出来进行查找,所以需要模拟除法的计算过程,进行一遍遍历。
代码实现如下:
#include<stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
int main()
{int a,b,c,i=1;scanf("%d%d%d",&a,&b,&c);if(a>b)a=a-((a/b)*b);for(i=1;i<99999;i++){int t;t=(a*10)/b;if(t==c)break;a=a*10-(t*b);}if(i<99999)printf("%d\n",i);elseprintf("-1\n");return 0;
}