蓝桥杯真题 数列求值(超范围)(好好审题啊喂)
生活随笔
收集整理的這篇文章主要介紹了
蓝桥杯真题 数列求值(超范围)(好好审题啊喂)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本題代碼實現比較簡單,而且是填空題
typedef long long ll; ll f(int n) {int i,a=1,b=1,c=1,result;for(i=4;i<=n;i++){result=a+b+c;a=b;b=c;c=result; }if(n<=3)return 1;elsereturn result; }#include<stdio.h> int main() {int n;scanf("%d",&n);printf("%d",f(n));return 0; }這是我直接看到這道題沒多想就直接寫的代碼~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
OJ直接給了個答案錯誤~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
實際上本題的陷阱就在超范圍~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
避免這種陷阱的方法即每次求解的時候都取模即可!!!!!!!!!!!!!!!!!!!!!
所以
typedef long long ll; ll f(int n) {int i,a=1,b=1,c=1,result;for(i=4;i<=n;i++){result=a+b+c;a=b;b=c;c=result%10000; //取模!!!!!!!!!!!}if(n<=3)return 1;elsereturn result; }#include<stdio.h> int main() {int n;scanf("%d",&n);printf("%d",f(n));return 0; }總結
以上是生活随笔為你收集整理的蓝桥杯真题 数列求值(超范围)(好好审题啊喂)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache 服务器状态查看
- 下一篇: 仪器程控软件传统开发流程