拼多多的砍价,邀好友进行砍价,想必大家对这个不会陌生。作为一个程序员来说比较好奇它的每个人能砍的价格是如何实现的。根据经验来看,一般是前几个能砍的价格是比较高的。而后来的好友基本上能砍的价格是微乎其微的。一般是砍到一定的价格就不会再能砍了。

其实这个砍价有点类似于微信的发红包。微信是把能获取的红包价格先缓存好,每个人点就可以取。我们也可以把第几个人能砍的价格缓存到数据库,而后每个人砍价的时候直接取就好了。

以下是计算能砍价格的思路:

1.砍价有底线 达到最低值后不能砍

2.砍价规则 按比例计算出能砍的总价 按规则缓存数据 以后如果有好友来砍价从数据库中直接取就可

砍价规则:计算出最多砍价的价格 有M个好友才能砍完 设置前n个能砍的价格是占比为x(n小x大者能砍的钱数就高) M-n个能砍的比率就为1-x 能砍的价格可按发红包的算法得出。

代码实现如下:

/**

计算砍价方法

@param totalPrice 砍价的总合

@param beforeNumber 前几个人

@param reducePercentage 前几个人能砍总价所占的百分比

@param totalReduceNumber 总共砍价人数

*/

- (void)KanJiaWithCanReduceTotalPrice:(NSInteger)totalPrice withBeforeNumber:(NSInteger)beforeNumber withBeforePeopleCanReducePer:(float)reducePercentage totalRdcNumber:(NSInteger)totalReduceNumber;

{

//前beforeNumber个能砍的价格

NSArray *array1 = [self getRedFromJavaWithTotalMoney:totalPrice*reducePercentage redNumber:beforeNumber minMoney:5];

//后totalReduceNumber-beforeNumber能砍的价格

NSArray *array2 = [self getRedFromJavaWithTotalMoney:totalPrice*(1-reducePercentage) redNumber:totalReduceNumber-beforeNumber minMoney:1];

NSMutableArray *finishArray = [NSMutableArray array];

[finishArray addObjectsFromArray:array1];

[finishArray addObjectsFromArray:array2];

for (NSString *str in finishArray)

{

NSLog(@"能砍的价格是%@",str);

}

}

- (NSMutableArray *)getRedFromJavaWithTotalMoney:(CGFloat)total redNumber:(NSInteger)number minMoney:(CGFloat)min

{

float money;

double max;

int i=1;

NSMutableArray *math = [NSMutableArray array];

while(i

{

max = total- min*(number- i);

NSInteger k = (int)((number-i)/2);

if (number -i <= 2)

{

k = number -i;

}

max = max/k;

double val = ((double)arc4random() / 0x100000000);

if (max

{

NSLog(@"max小于min");

max = min+1;

}

money=(int)(min*100+val*(max*100-min*100+1));

money=(float)money/100;

total=total-money;

;

[math addObject:[NSString stringWithFormat:@"%f",money]];

// NSLog(@"第%d人 拿到%f",i,money);

i++;

if(i==number)

{

[math addObject:[NSString stringWithFormat:@"%f",total]];

// NSLog(@"最后 第%d人 拿到%f",i,money);

}

}

return math;

}

而后把这个价格缓存到后台数据库。第几个好友来直接取价格用总价减就可以了。

好好学习 天天向上

如有不足之处 欢迎指出。

java砍价算法逻辑,拼多多砍价算法实现探究相关推荐

  1. python模拟砍价代码_拼多多砍价算法实现探究

    拼多多的砍价,邀好友进行砍价,想必大家对这个不会陌生.作为一个程序员来说比较好奇它的每个人能砍的价格是如何实现的.根据经验来看,一般是前几个能砍的价格是比较高的.而后来的好友基本上能砍的价格是微乎其微 ...

  2. 拼助手/帮你拼/兔查查小程序如何查询拼多多砍价记录?

    有时候我们在拼多多帮助朋友砍价后,可能会想要是否帮助别人砍价成功.结下来我给大家分享查看别人拼多多砍价记录的方法. 一.如何查看别人的拼多多砍价记录? 1.进入查砍价小程序,点击链接前往查砍价小程序 ...

  3. 拼多多砍价背后的逻辑

    之前有一篇pdd提现的文章,[闲谈] 砍价活动可以说是拼多多一手带起来的,通过砍价活动,拼多多通过低成本进行了大量的品牌曝光,并且也累积了大量用户. 拼多多用户发起最多的砍价活动是首页的"天 ...

  4. 拼多多分享好友砍价Java实现_拼多多砍价怎么分享到朋友圈 砍价发到微信朋友圈方法...

    拼多多是一款电商+社交的共享式购物平台,现在还推出了砍价的活动,只要邀请好友砍价,你就以最低的价格购买商品,还可以可能是免费拿到,那么今天小编就给大家讲讲如何将自己的砍价信息分享到微信朋友圈. 首先下 ...

  5. 类拼多多砍价业务总结

    砍价业务总结 前言 产品经理: 有个新需求,要做一个类似拼多多砍价的小程序我: 排几天工期啊?产品经理:一个星期天够了吧?我:(jack这么高傲的技术愤青) NoNoNo,3天就行了具体业务背景:第三 ...

  6. 拼多多砍价用户福利贴:通过python模拟操作进行拼多多砍价

    下文提到的所有工具都可以在这里下载:拼多多砍价神器Python教程所需软件 大家可以点下小站,给个支持~谢谢啦~ /1 前语/ 嘿,各位小伙伴们晚上好呀,今日小编又给我们带来干货内容啦,今日带来的是, ...

  7. 拼多多“砍价免费拿”始终差“0.09%”遭起诉,官方回应:活动真实

    整理 | 王晓曼 出品 | 程序人生 (ID:coder _life) 相信很多人都收到过"麻烦帮我点下可以么"."戳一戳,你最好啦"这类拼多多链接,它们可能来 ...

  8. 四川铺管家:拼多多砍价需要怎么砍

    现在许多人都喜爱在网上进行购物,而拼多多上的消费者也是比较多,许多人对于拼多多印象便是产品比较廉价,还有一个便是砍价免费拿东西,下面我们说说拼多多砍价免费拿的规矩是什么? 活动规矩如下: 1.挑选心仪 ...

  9. 手机+html+砍价,拼多多砍价免费拿手机是真的吗?可以拿到吗?

    大家最开始被拼多多吸引到的就是可以砍价,大家通过砍价之后就能得到很多好的产品,比如有的哦鞥有在问就是拼多多上可以砍价到免费的手机吗?针对这个事情我们做一个充分的分析,看看背后是什么? 拼多多砍一刀的模 ...

最新文章

  1. 共轭矩阵与自共轭矩阵
  2. Java学习福利,入门到精通学习路线分享
  3. ZooKeeper入门(一)
  4. 优酷电视剧爬虫代码实现一:下载解析视频网站页面(3)补充知识点:htmlcleaner使用案例...
  5. javafx 调用java_Java,JavaFX的流畅设计风格进度栏
  6. 漫画:如何证明sleep不释放锁,而wait释放锁?
  7. MVC框架中的值提供机制(二)
  8. 事件捕获、冒泡、绑定、赋值、委托、兼容、滚轮
  9. 精装友好联络算法实现借壳和RI
  10. 8plus基带电源供电线路_iPhone7显示手机无服务还有感叹号,基带通病问题,你中招了吗?...
  11. php 读取本地excel文件,PHP读取Excel文件的简单示例
  12. 江苏省计算机三级理论考试,春江苏省计算机三级偏硬考试真题及答案
  13. 海信LINUX系统改安卓,如何获取海信电视的root许可一键单击海信Smart TV的root卸载内置软件...
  14. 小米原装系统镜像列表
  15. HDU - 2567 寻梦
  16. // #ifdef MP-WEIXIN微信小程序无效,不执行
  17. 智能手机查看上网IP地址的多种方法
  18. C++课后作业 3. 教材习题4_8:定义Dog类,包含age和weight信息
  19. linux修改X2APIC参数,Linux 開機參數 intremap=no_x2apic_optout
  20. 如何把一个web网站做成一个window应用程序

热门文章

  1. 视觉机器学习20讲-MATLAB源码示例(19)-遗传算法
  2. 视觉机器学习20讲-MATLAB源码示例(8)-Adaboost算法
  3. 中国地区表-mysql-包含钓鱼岛-2019年10月更新-[2]
  4. iOS - 多线程分析之 DispatchQueue Ⅰ
  5. 安卓手机卡顿怎么解决_安卓手机卡顿问题严重?关掉这个开关试试,手机瞬间流畅得像新的...
  6. 网络模型 数据的封装与解封
  7. 油气田开发之测试井36问
  8. 《CSDN开发助手》CSDN官方合法免广告工具,内含大量实用开发工具
  9. 视频智能分析结果存储方案
  10. 【HTML爱心】这首歌写给你听,我想请你闭上眼睛,这首可能不太动听,但是我有足够的用心~