#include<bits/stdc++.h>
using namespace std;
int ceil(float data){
data=data+1;
int sult=data;
return sult;
}
int Timer(){
srand((int)time(0));
int num;
num=(rand()*17)%100;
return num;
}
float Logs(int p,int q){
float c;
c=log10(q)/log10(p);
return c;
}
float RealP(float ArmyNum){
if(ArmyNum>5000) {return 100;}
else
return ArmyNum/50;
}
float ArmyP(float ArmyNum){
if(ArmyNum>2000){
return 100*(Logs(2,ArmyNum)-9);
}
else
return ArmyNum/10;
}
float GradeP(float Grade){
if(Grade<20){return 1;}
else {return 1+(Grade-20)*0.02;}
}
int GetAttack(float Attack,float GradeAttacker,float AttackerArmy,float Defend,float GradeDefender,float DefenderArmy){
int Timer();
float x1,x2,x3,x4;
int ceil(float data);
x1=ArmyP(DefenderArmy);
x2=GradeP(GradeAttacker)*Attack-GradeP(GradeDefender)*Defend;
x3=RealP(DefenderArmy);
x4=(0.85+Timer()*0.001)*(x1+x2+x3);
int v=ceil(x4);
if(x1+x2+x3<=10){return 9;}
else
return v;
}
int main(){
int GetAttack(float Attack,float GradeAttacker,float AttackerArmy,float Defend,float GradeDefender,float DefenderArmy);
int Timer();
float Attack,GradeAttacker,AttackerArmy,Defend,GradeDefender,DefendArmy;
cin>>Attack>>GradeAttacker>>AttackerArmy>>Defend>>GradeDefender>>DefendArmy;
cout<<GetAttack(Attack,GradeAttacker,AttackerArmy,Defend,GradeDefender,DefendArmy)<<endl;
return 0;
}
根据大佬的公式写了个伤害计算程序