蓝桥杯—鲁卡斯队列(C语言解法)
题目描述
一点思考
- C语言中没有保留到小数点多少位的函数或者方法,所以要换一种思路
- 可以将分子扩大到题目要求多一位的位数,再求分数的值,然后四舍五入舍掉最后一位,与题目要求的结果相减,结果为0,则满足条件,输出即可
代码
#include
int main(){
int i;
long long res,a=1,b=3,tem;
for(i=1;i<2000;i++){
res=(10000000*a)/b;
if(res%10>4){
res=res/10+1;
}
else res=res/10;
if(res-618034==0){
printf("%d/%d",a,b);
break;
}
tem=a+b;
a=b;
b=tem;
}
return 0;
}