Hello everyone,
I was working on a problem where i was given an integer p and was asked to calculate the number of digits after the decimal point in 1/p.
Ex:- Input: 100 Output: 2 as (1/100=0.01)
#include<bits/stdc++.h>
using namespace std;
int main()
{
float p;
cin>>p;
float q=1/p;
int cnt=0;
cout<<q<<"\n";
while(fmod(q,10.0)!=0)
{
q=q*10;
cnt++;
//cout<<q<<" "<<cnt<<"\n";
}
cout<<cnt-1<<"\n";
}
What i was trying to do is multiply (1/n) till it is divisible 10 and then simply print count-1 .
But the output this code is giving me is 12 in place of 2 for p=100.
Help would be appreciated :)