当前位置: 代码迷 >> 综合 >> 模拟除法原理计数(CodeForces 900B)
  详细解决方案

模拟除法原理计数(CodeForces 900B)

热度:14   发布时间:2024-01-19 08:02:03.0

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;
}
  相关解决方案