2014年2月22日 星期六

水手分錢(三個水手問題)

/*
g[n]=81n-2
*/
#include <iostream>
using namespace std;
 
int take(int money, int numOfSailor, int remaining){
 if (money%numOfSailor==remaining)
  return (money-remaining)/numOfSailor*(numOfSailor-1);
 else
  return 0;
}
 
int main(){
 int n,m,p,r;
 cin >> n >> m >> p >> r;
 for (int i=n;i<=m;i++){
  int money = i;
 
  for (int j=0;j<=p;j++){  
   if (money) {money=take(money,p,r);}
   else{break;}    
  }
 
  if (money){
   cout << i;
   break;
  }
 }
 system("pause");
 return 0;
}

沒有留言:

張貼留言