1. 程式人生 > >基礎演算法學習1

基礎演算法學習1

一、演算法題:

二、程式碼

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <vector>
 4 using namespace std;
 5 int f(int n, int m) {
 6     n = n % m;
 7     vector<int> v;
 8     for(;;) {
 9         v.push_back(n);
10         n *= 10;
11         n = n % m;
12         if (n == 0
) return 0; 13 if (find(v.begin(), v.end(), n) != v.end()) { 14 return v.size()-(find(v.begin(), v.end(), n)-v.begin()); 15 } 16 } 17 } 18 int main() { 19 int n, m; 20 cin >> n >> m; 21 cout << f(n, m) << endl; 22 return 0; 23 }

三、知識點

  1、STL標準庫模板中vector容器相比於陣列的優點:隨時分配所需記憶體,並且具有很多方便使用的庫函式。

  2、algorithm標頭檔案中find()方法適用於在vector容器中尋找所給引數n所在的位置。

  3、學會使用vector容器迭代功能(vector<int>::iterator = v.begin();iterator != v.end(); iterator++)