題目描述
某人有8 角的郵票5 張,1 元的郵票4 張,1 元8 角的郵票6 張,用這些郵票中的一張或若干張可以得到多少中不同的郵資?
知識點:
- 注意set的遍歷方法:(其他容器包括 vector 也是這樣)
a. 第一種用指針的方式 :
set< float>totle;
set<float>::iterator it;
for (it = totle.begin(); it != totle.end(); it++)
cout<<*it<<endl;
b. 第二種方法用容器的下標索引
set< float>totle;
for (int i = 0; i < totle.size(); i++)
cout << totle[i];
- 剛開始想怎麼可以得到任意麪額的組合,後來想麻煩了,本來數據量也不大,所以三個 for 嵌套無所謂的。
#include <iostream>
#include <string>
#include <set>
using namespace std;
int main()
{
set<float>totle;
int count = 0;
for (int i = 0; i <= 5; i++)
for (int j = 0; j <= 4; j++)
for (int n = 0; n <= 6; n++)
{
totle.insert(i*0.8 + j * 1 + n*1.8); // !!!
}
set<float>::iterator it; // set容器的遍歷
for (it = totle.begin(); it != totle.end(); it++)
count++;
cout << count-1 << endl;
}