2009-09-04 9 views
-4

私はいくつかのコードを持っています。ユーザーがX人の人を参照した場合、彼はX個のクレジットを取得します。数学的な問題のヘルプ

たとえば、2人= 1クレジットを参照してください。 4人= 2クレジット、など。彼は5人のために一人につき1クレジット、または3人、1クレジットにつき1枚のクレジットを取得するので、彼は3のための1つの単位を取得した場合

は、しかし、これはトリッキー取得する場所、数字等、

を変更することができています私は彼に1クレジットを受け取り、クレジットを得られなかった2人の人がまだいると記憶しておきたいと思います。だから次回彼が誰かを指すとき、それは2 + 1 = 3であり、彼は信用を得る。

私の質問、

Xを考える=彼は1つのクレジットのために参照する必要がある人々の数、 およびY =人の数のユーザーが、

を参照さいている(だから、Xのように、3であるかもしれません

1)XとYを入力し、与えなければならないクレジットの数を返す簡単な公式または関数とは何か?1クレジットあたり3人で、Yは6クレジットを獲得する必要があります。その人、

2)まだ授与されていないクレジットのために残額を与えるもの。たとえば、Xが3でYが5の場合、クレジットは1になり、残りは2になるため、次のリファラでYは3に戻り、ユーザーは1クレジットを取得します。

+0

Xは時間とともに変化する可能性がありますか? – Bombe

+1

あなたの質問を再読し、矛盾を修正するために編集する..第4パラで、1人3クレジットを得れば、5人を参照すると、15クレジットは1クレジットではありません。 3人あたり1クレジットを意味しましたか? - –

+0

wtf?なぜそんなに多くのdownvotes –

答えて

8
1.) 
creditsToPayout = Y/X; //use integer division to truncate, or floor result 
remainderReferrals = Y % X; //remainder of Y/X, leftover referrals 
0

クレジット数= FLOOR(Y/X)

剰余= Y-(Xの*フロア(Y/X))

1

あなたは整数除算およびモジュラスを必要とします。数が経時的に変化することができる場合たとえば、intiallyそれはクレジットあたりの3人で、どうなるか、

- intval($a/$b) 
- $a % $b 
1

:PHPの場合のためにhereを参照してください。彼は7人を参照して1人残って2クレジットを取得します。ルールは、1クレジットにつき4人に変更されます。そのルールの下で彼は残った3人の人と1クレジットを得るだけです。あなたはクレジットを取り戻しますか?私は新しいルールが新しいクレジットにのみ適用されるとは思わない。だから私はあなたのデータベースや何か、クレジットの数を受け取り、残っている紹介の数がクレジットを作るには不十分だったと思っています。クレジットされていない紹介の数は、新たな紹介をしたり、クレジットのために "交換"されたりするので、時間の経過とともに上下していきます。

率直に言えば、クレジットごとのXの照会ではなく紹介ごとのXクレジットをルールにしてから、クレジットで購入したもののコストを増やすだけで簡単になると思います。同様に、ルールが5つの紹介のための1つのクレジットであり、10のクレジットを取得したときに無料のiPodなどを入手した場合、iPodを入手するには50の紹介が必要です。だから紹介あたり1クレジットに変更し、iPodを取得するには50クレジットがかかります。それでは、分数を扱う必要はありません。しかし、おそらくあなたがルールを補うわけではない、そして、これはすべて無関係です。