又到了一年一度的支付宝集福活动了!据悉,已有2.7万人集齐了五福,可以坐等开奖了。还没领取五福卡的朋友们,让我们一起了解下支付宝集福活动2023规则攻略玩法吧。
支付宝集福活动2023攻略玩法
1、扫福得福卡:在五福会场,找到“扫福得福卡”的入口,通过扫福字得福卡,每天有机会获得2张福卡;
2、找能量得福卡:在五福会场,找到“找能量得福卡”入口,进入后可以点击页面的福气球获得福卡,每天有机会获得3张福卡;
3、画年画得福卡:在五福会场,找到“画年画得福卡”的入口,进入后通过临摹界面上的兔子,可以生成一幅年画。生成年画后,可以领到年画福卡。分享年画,还有机会获得更多福卡;
4、看直播得福卡:在五福会场,找到“送鼓励得福卡”的入口,进入直播间后,点击下面的道具,送给主播,有机会获得福卡;
5、摇一摇得福卡:在五福会场,找到“摇一摇得福卡”的入口,摇动手机或者是点击“摇一摇”,有机会摇出福卡;
6、做运动得福卡:在五福会场,找到“运动得福卡”的入口,开通步数授权后,每天走满99步,就有机会可以领福卡。
支付宝福卡活动规则
今年,用户可通过参与AR扫福、AI年画、蚂蚁森林、支付宝运动、摇一摇、直播互动、进入商家支付宝小程序完成指定互动及在支付宝合作方渠道参与集五福联名活动等方式集福卡。
AR扫福、蚂蚁森林、支付宝运动集福方式相信大家并不陌生,这里主要介绍一下AI年画。
据悉,在AI年画中,用户根据屏幕提示完成兔子轮廓描摹后即可生成AI年画迅桥,还可通过贴纸装饰自己的年画,并按照页面展示,自主选择署名盖章在年画上,分享年画后即可随机获得1张福卡,每天最多可获得8张。
福卡种类与往年一样,还是和谐福、爱国福、敬业福、友善福、富强福五种,另外还有五福万能福卡、五福沾福气卡、五福同享卡,以及生肖卡。
其中,五福同享卡可通过集福任务获得,用户点击“送给亲友”可将五福同享卡送给未合成五福的支付宝好友与非支付宝亲友,当亲友领取后,即可获得一套五福福卡,省去集福过程。
值得一提的是,生肖卡比较特别,在1月11日至1月姿昌扒20日每晚19:00都会开奖,具体来说,集福过程中会有机会获得生肖卡,邀请亲友激活后,如果中奖的话,你和亲友都会迹昌必得6.66元红包。
至于其他活动,大家还可用福卡兑换或抽取华为Mate 50、扫地机器人等奖品,更多玩法大家可在支付宝中搜索“集五福”进入活动页面详细了解。
以上,就是有关支付宝集福活动2023攻略,支付宝福卡活动规则玩法的介绍了。
1.打开支付宝2.找到集五福迎新春点击进码迅裤入,在这里有多种迟简方式皆可获得福卡
3.点击如何快速集齐五福即可查看每种福卡的获取方式及使用方法
4.点击福卡介绍下方的去集福并完成昌宏任务即可获得福卡。
(备注:2021年集福卡还没有开始)
import java.util.ArrayList
import java.util.List
import java.util.Random
/**
* 抽奖工具类,概率和可以不等于1
* 概率为百分数去掉百分号的部分,如10%,则为10
* 抽奖 *** 作如下:
* 1.输入抽奖概率集合,【抽奖概率集合为{10.0, 20.0, 30.0}】
* 2.生成连续集合, 【生成的连续集合为{(0.0, 10.0],(10.0, 30.0],(30.0, 60.0]}】
* 3.生成随机数, 【生成方法为 random.nextDouble() * maxElement】
* 4.判断随机数在哪个区间内,返回该区间的index【生成了随机数12.001,则它属于(10.0, 30.0],返回 index = 1】
*
*/
public class LotteryUtil {
/**
* 定义一个连续集合
* 集合中销码元素x满足:(minElement,maxElement]
* 数学亏禅哪表达式为:minElement < x <= maxElement
*
*/
public class ContinuousList {
private double minElement
private double maxElement
public ContinuousList(double minElement, double maxElement){
if(minElement > maxElement){
throw new IllegalArgumentException("区间不合理,minElement不能大于maxElement!")
}
this.minElement = minElement
this.maxElement = maxElement
}
/**
* 判断袭困当前集合是否包含特定元素
* @param element
* @return
*/
public boolean isContainKey(double element){
boolean flag = false
if(element > minElement && element <= maxElement){
flag = true
}
return flag
}
}
private List<ContinuousList> lotteryList //概率连续集合
private double maxElement //这里只需要最大值,最小值默认为0.0
/**
* 构造抽奖集合
* @param list 为奖品的概率
*/
public LotteryUtil(List<Double> list){
lotteryList = new ArrayList<ContinuousList>()
if(list.size() == 0){
throw new IllegalArgumentException("抽奖集合不能为空!")
}
double minElement = 0d
ContinuousList continuousList = null
for(Double d : list){
minElement = maxElement
maxElement = maxElement + d
continuousList = new ContinuousList(minElement, maxElement)
lotteryList.add(continuousList)
}
}
/**
* 进行抽奖 *** 作
* 返回:奖品的概率list集合中的下标
*/
public int randomColunmIndex(){
int index = -1
Random r = new Random()
double d = r.nextDouble() * maxElement //生成0-1间的随机数
if(d == 0d){
d = r.nextDouble() * maxElement //防止生成0.0
}
int size = lotteryList.size()
for(int i = 0 i < size i++){
ContinuousList cl = lotteryList.get(i)
if(cl.isContainKey(d)){
index = i
break
}
}
if(index == -1){
throw new IllegalArgumentException("概率集合设置不合理!")
}
return index
}
public double getMaxElement() {
return maxElement
}
public List<ContinuousList> getLotteryList() {
return lotteryList
}
public void setLotteryList(List<ContinuousList> lotteryList) {
this.lotteryList = lotteryList
}
}
该工具类的基本思想是,将抽奖概率分布到数轴上,如现有三个抽奖概率10、20、30,将三者依次添加到概率集合中,则构造的数轴为:0~10范围内表示概率10,10~30范围内表示概率为20,30~60范围内表示概率为30,数轴上的长度对应着相应的概率。由这种处理方式可知,概率总和并不需要等于1。该工具类的成功与否在于Random.nextDouble()能否等概率地生成0~1之间的任意一个数。
对该抽奖工具进行测试,测试类如下:
[java] view plain copy
package com.lottery
import java.util.ArrayList
import java.util.HashMap
import java.util.List
import java.util.Map
import java.util.Map.Entry
class Result{
private int index
private int sumTime
private int time
private double probability
private double realProbability
public int getIndex() {
return index
}
public void setIndex(int index) {
this.index = index
}
public int getTime() {
return time
}
public void setTime(int time) {
this.time = time
}
public int getSumTime() {
return sumTime
}
public void setSumTime(int sumTime) {
this.sumTime = sumTime
}
public double getProbability() {
return probability
}
public double getRealProbability() {
return realProbability
}
public void setRealProbability(double realProbability) {
this.realProbability = realProbability
}
public Result(){
}
public Result(int index, int sumTime, int time, double realProbability) {
this.setIndex(index)
this.setTime(time)
this.setSumTime(sumTime)
this.setRealProbability(realProbability)
}
public String toString(){
return "索引值:" + index + ",抽奖总数:" + sumTime + ",抽中次数:" + time + ",概率:"
+ realProbability + ",实际概率:" + (double)time/sumTime
}
}
public class TestLottery {
static final int TIME = 100000
public static void iteratorMap(Map<Integer, Integer> map, List<Double> list){
for(Entry<Integer, Integer> entry : map.entrySet()){
int index = entry.getKey()
int time = entry.getValue()
Result result = new Result(index, TIME, time, list.get(index))
System.out.println(result)
}
}
public static void main(String[] args) {
//构造概率集合
List<Double> list = new ArrayList<Double>()
list.add(20d)
list.add(80d)
list.add(50d)
list.add(30d)
LotteryUtil ll = new LotteryUtil(list)
double sumProbability = ll.getMaxElement()
Map<Integer, Integer> map = new HashMap<Integer, Integer>()
for(int i = 0 i < TIME i++){
int index = ll.randomColunmIndex()
if(map.containsKey(index)){
map.put(index, map.get(index) + 1)
}else{
map.put(index, 1)
}
}
for(int i = 0 i < list.size() i++){
double probability = list.get(i) / sumProbability
list.set(i, probability)
}
iteratorMap(map, list)
}
}
运行结果:
由结果可知,抽奖100000时, 得到的实际概率基本与正式概率相当。
以下说明此类调用方式:
[java] view plain copy
public LotteryUtil(List<Double> list)
说明:构造方法,传入参数为一个概率集合
[java] view plain copy
public int randomColunmIndex()
功能:进行抽奖 *** 作,返回List集合的索引下标,此下标对应的概率的奖品即为抽中的奖品
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)