请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

一个小的算法问题 有关set的

某人有 8 角的邮票 5 张,1 元的邮票 4 张,1元 8 角的邮票 6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?

#include
#include
using namespace std;
int main(){

set<double> s;
for( int a = 0 ; a <= 5 ; a ++ )
	for( int b = 0 ; b <= 4 ; b ++ )
		for( int c = 0 ; c <= 6 ; c ++ )
			s.insert(a*0.8 + b*1 + c*1.8);

cout << s.size() << endl;
return 0;

}

老师 这么做的问题在哪里?

正在回答

1回答

1)确认一下题意里可以使用0张邮票吗?


2)为了避免浮点计算误差,set存int,统一使用角或者分作单位更好。

0 回复 有任何疑惑可以回复我~
  • 提问者 我的心态容易蹦 #1
    老师  题目中的是用这些邮票中的一张获若干张邮票  是不是不可以使用0张邮票的意思啊
    回复 有任何疑惑可以回复我~ 2019-02-21 10:18:05
  • 我不知道啊,需要找出题人询问。我只是提供一个corner case。整体思路是没问题的:)
    回复 有任何疑惑可以回复我~ 2019-02-21 10:23:44
  • 提问者 我的心态容易蹦 回复 liuyubobobo #3
    谢谢老师
    回复 有任何疑惑可以回复我~ 2019-02-21 10:27:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信