También hablaré sobre la implementación de algoritmos similares a los sobres rojos de WeChat.
Requisitos:
Al cliente se le ocurrió una idea: quería agregar una función similar a los sobres rojos de WeChat a su aplicación.
1. Todos deben recibir un sobre rojo (no más que el número limitado de personas)
2. La suma de todas las personas que recibieron el sobre rojo debe ser igual a el monto total del sobre rojo
3. Los sobres rojos recibidos por todos son aleatorios.
4. El número máximo de sobres rojos es 100. El mínimo es 2 (este es el ajuste del cliente, con la esperanza de iniciar al menos 2 sobres rojos)
5. La cantidad mínima de sobre rojo es 0,01.
Idea de algoritmo:
Suponga que la cantidad de sobres rojos es 100 yuanes, se emiten n sobres rojos, el usuario es y, el número de sobres rojos restantes es x y el la cantidad total de sobres rojos restantes es g
Cuando y=1 (primer usuario)
n1 sobre rojo = 100 ¿Rango de números aleatorios?
g=100-n1
x=n-1
Cuando y=2 (segundo usuario)
n2 Sobre rojo = (g) rango aleatorio
x=x-1
g=g-n2
Cuando y=3 (tercer usuario)
n3 sobre rojo = (g) rango aleatorio
x=x-1
g=g-n3
..... .. p>
Cuando y=x (el último sobre rojo)
El monto del último sobre rojo=g