一、题目示例:
某人有四张3分的邮票和三张5分的邮票,用这些邮票中的一张或若干张可以得到多少种不同的邮资?
输入格式:
无
输出格式:
输出可得到多少种的值。
输入样例:
在这里给出一组输入。例如:
输出样例:
在这里给出相应的输出。例如:
19
二、参考代码:
#include<iostream>
using namespace std;
int main()
{
int a[100] = {0}, sum, i, j, count = 0, b;
for (i = 0; i <= 4; i++)
for (j = 0; j <= 3; j++)
{
sum = i * 3 + j * 5;
b = sum;
if (a[b] == 0)
{
a[b] = 1;
}
}
for (int k = 0; k < 100; k++)
{
if (a[k] == 1)
{
count++;
}
}
cout << count-1<< endl;
system("pause");
return 0;
}
这里问题就在排重,这里思路是借鉴舍友的,思路很好,就是直接利用数组,反正有再多相同情况,数组只会变成一个1,有效排重!