我正在研究一种算法,并希望使我的代码更有效.我的代码使用简单的算术和比较语句.但是,我想替换if语句,因为它们可能很耗时.这段代码将运行超过一百万次,所以即使是最轻微的改进也是值得赞赏的.请回答!这里是代码 -
int_1024 sqcalc(int_1024 s,int_1024 f){
f=f*20;
s=s-81;
s=s-(f*9);
if(s>=0){
return 9;
}
s=s+f;
s=s+17;
if(s>=0){
return 8;
}
s=s+f;
s=s+15;
if(s>=0){
return 7;
}
s=s+f;
s=s+13;
if(s>=0){
return 6;
}
s=s+f;
s=s+11;
if(s>=0){
return 5;
}
s=s+f;
s=s+9;
if(s>=0){
return 4;
}
s=s+f;
s=s+7;
if(s>=0){
return 3;
}
s=s+f;
s=s+5;
if(s>=0){
return 2;
}
s=s+f;
s=s+3;
if(s>=0){
return 1;
}
s=s+f;
s=s+1;
if(s>=0){
return 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我希望替换if检查,因为我认为'他们使算法变慢.任何建议?int_1024是一个带有1000位的ttmath变量,所以保存它可能是一个很好的选择?如此大的数字的除法或乘法可能慢,所以我尝试使用添加,但无济于事.请帮助.