求助!计算消费满100赠送30,可赠送的券有30和90两种,输入任意的消费金额计算赠送的券数

gongdahu 2012-06-02 09:39:09
求助!
有两种赠送方式:
一、消费满100赠送30,可赠送的券有30和90两种。
二、赠送消费金额的百分比,比如赠送60%。可赠送的券也是有两种30和90元。
输入任意的消费金额计算赠送的券数。

有两种赠送券数量的方式:
1、全部赠送小金额的券。
2、优先赠送大金额的券,不足部分用小金额券,比如赠送金额为120元那么就赠送一张90元和一张30元。对于超出部分使用取大原则比如赠送130元,那么可以赠送5张30元或一张90元+两张30元。

求算法。

...全文
227 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

最好请采用设计模式来写!不然以后要是有新的消费模式又要浪费笔墨了
[/Quote]

什么意思?抄袭什么代码算是会套“设计模式”呢?
chengzq 2012-06-02
  • 打赏
  • 举报
回复
设计模式初学者慎用....没有1-2年企业开发经验,建议不要用...
路过的码农 2012-06-02
  • 打赏
  • 举报
回复
最好请采用设计模式来写!不然以后要是有新的消费模式又要浪费笔墨了
chengzq 2012-06-02
  • 打赏
  • 举报
回复
兄弟,电脑没编程环境,用记事本写的,你看看符合要求不,直接把代码拷到txt文件中,改成html格式。

<html>
<head>
<title>test</title>
<script type="text/javascript" language="javascript">
//赠送方式1
function calc()
{
var money=document.getElementById("input_money").value;//消费金额
var num30=Math.floor(money/100); //可赠送30券的数量
//
var num90=Math.round((num30/3)>=1?(num30/3):0); //可赠送90券的数量
var num30_final=num30-num90*3; //剩下30券的数量

alert("全部赠送小额券:(30券数量:"+num30+")");
alert("优先赠送大额券:(90券数量:"+num90+")(30券数量:"+num30_final+")");
}
//赠送方式2
function calc2()
{
var money=document.getElementById("input_money").value;//消费金额
var num30=Math.floor((money*0.3)/30); //可赠送30券的数量
//
var num90=Math.round((num30/3)>=1?(num30/3):0); //可赠送90券的数量
var num30_final=num30-num90*3; //剩下30券的数量

alert("全部赠送小额券:(30券数量:"+num30+")");
alert("优先赠送大额券:(90券数量:"+num90+")(30券数量:"+num30_final+")");
}
</script>
<head>
<body>
消费金额:<input type="text" id="input_money"></input>
<input type="button" value="计算方式1" onclick="calc()"></input>
<input type="button" value="计算方式2" onclick="calc2()"></input>
</body>
</html>

__天涯寻梦 2012-06-02
  • 打赏
  • 举报
回复
第一种30%,第二种60%,消费金额乘上百分比得到赠送金额,记作 money ,
第一种送券方式
int count = money / 30;
if (money % 30 > 0)
{
++count;
}

第二种送券方式
int nine_count = money / 90;
int m = money % 90;
int three_count = m / 30;
if (m % 30 > 0)
{
++three_count;
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧