基礎演算法學習1
阿新 • • 發佈:2018-12-05
一、演算法題:
二、程式碼
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++)