You have a fraction . You need to find the first occurrence of digit c into
decimal notation of the fraction after decimal point.
The first contains three single positive integers a, b, c (1 ≤ a < b ≤ 105, 0 ≤ c ≤ 9).
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.
1 2 0
2
2 3 7
-1
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 fraction.
题意:多组数据,
每组数据输入三个数 a,b,c
输出,a/b的第几位数是c
很水的吧,直接模拟就行了,数学上好像有证明,不会有太多位的,所以大胆写吧!
#include <stdio.h>
int main() {
int a, b, c;
while(~scanf("%d%d%d",&a,&b,&c)) {
for(int i = 1; i < 255; i++) {
a *= 10;
if(a/b == c) {
printf("%d\n",i);
break;
}
a %= b;
if(i == 254) printf("-1\n");
}
}
return 0;
}
本文介绍了一个简单的程序,用于解决一个特定的问题:给定三个整数a、b和c,找到分数a/b的小数点后第一次出现数字c的位置。如果该数字不存在,则返回-1。通过直接模拟的方法解决了这个问题,程序使用C语言编写。
115

被折叠的 条评论
为什么被折叠?



