一, 算法题:
二, 代码
- #include <iostream>
- #include <algorithm>
- #include <vector>
- using namespace std;
- int f(int n, int m) {
- n = n % m;
- vector<int> v;
- for(;;) {
- v.push_back(n);
- n *= 10;
- n = n % m;
- if (n == 0) return 0;
- if (find(v.begin(), v.end(), n) != v.end()) {
- return v.size()-(find(v.begin(), v.end(), n)-v.begin());
- }
- }
- }
- int main() {
- int n, m;
- cin>> n>> m;
- cout <<f(n, m) << endl;
- return 0;
- }
三, 知识点
1,STL 标准库模板中 vector 容器相比于数组的优点: 随时分配所需内存, 并且具有很多方便使用的库函数.
2,algorithm 头文件中 find() 方法适用于在 vector 容器中寻找所给参数 n 所在的位置.
3, 学会使用 vector 容器迭代功能 (vector<int>::iterator = v.begin();iterator != v.end(); iterator++)
来源: http://www.bubuko.com/infodetail-2873133.html