C++求循环节位数

//求循环节的位数
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;

int f(int n, int m)
{
    
    
	vector<int> v;
	n = n%m;
	
	for(;;)
	{
    
    
		v.push_back(n);
		n = n*10;
		n = n%m;
		if(n==0)
			return 0;
		if(find(v.begin(), v.end(), n) != v.end())
		{
    
    
			//在下面填入代码
			return (int)( v.end() - find(v.begin(), v.end(), n)); 
		}
	}
}

int main()
{
    
    
	int n, m;
	cin >> n >> m;
	
	cout << "n%m = " << n%m << endl << "n%m*10 = " << n%m*10 << endl << "n%m*10%m = " << n%m*10%m << endl;
	
	cout << f(n, m) << endl;
	
	return 0; 
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_46161051/article/details/113702648