数据库中有N条公益广告,网页上每行6个广告位,默认是2行,如果有人花钱做广告,则把花钱的广告放在前面,不足一行的后面用公益广告补足。几种情况:1、花钱的广告少于12条,则差几条用公益广告补上,加在一起共12条。
2、花钱的广告多于12条,如果花钱的广告正好可以占满一行,则不要公益广告。
3、花钱的广告多于12条,如果花钱的广告不能正好占满一行,则用公益广告补成占满一行。现在,我想求的算法是要求得到需要几条公益广告。小弟数学不好,加上一天没休息,实在头大,高手帮忙给写个算法,谢谢!
2、花钱的广告多于12条,如果花钱的广告正好可以占满一行,则不要公益广告。
3、花钱的广告多于12条,如果花钱的广告不能正好占满一行,则用公益广告补成占满一行。现在,我想求的算法是要求得到需要几条公益广告。小弟数学不好,加上一天没休息,实在头大,高手帮忙给写个算法,谢谢!
解决方案 »
- 处理一下for循环的问题
- 问下关于PHP的SESSION问题
- Zend Optimizer 安装是不是一定要和Zeus一起安装?
- 如何得到非本地网站的查询结果,这算采集吗?
- 如何当钩选checkbox的时候,能够从数据库中自动产生 select small_areaid的 option 列表
- nusoap如何封装请求头
- 可以在网页中,用onclick ,或者 onbeforeunload 时间触发服务器端程序吗?
- 大家推荐一下好的Php虚拟空间
- 哪有用户认证系统源码?(php+mysql越精简越好!)
- 奇怪:关于Apache访问日志的问题
- 关于正则表达式模式修正符的问题
- 返利网订单跟踪如何实现?
//...取付费广告数
if($num > 12) {
//limit 12
}
esle {
//all
//(12 - $num)个公益
//公益看你是随机还是按顺序取
}
这样应该可以了吧
$welNum = 12 - ($paidNum % 12);
$welNum = (($welNum == 12) && ($paidNum > 0)) ? 0 : $welNum;