ZOJ 3952 Fibonacci Sequence Chicken Edition 模拟

来源:互联网 发布:三大男高音 知乎 编辑:程序博客网 时间:2024/05/17 02:35

题目链接

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5571

题意

告诉你一个新的编程语言,用它来求出斐波拉契数列的第n项(n从标准输入中输入,不超过30)
该语言语法参考下题目链接把

思路

我忍你们很久辣!!!新学期因为什么华为啦,cccc啦,省赛啦,大创啦忙的要死,自己还要学机器学习,根本没空更新博客好不好?!你看看网上这题的题解,各种超牛逼的逻辑,还硬说别人复杂,自己代码简单(wkc学长看到了不要打我啊QAQ)
这题不就是叫你用新语言完成一个for吗?有这么难吗?
当然了,省赛的时候我们队的手速太慢了,又因为%I64d被卡了半个多小时QAQ,比赛的时候没有看到这题,我好菜啊,真的菜啊。所以各位别喷我马后炮QAQ
每次把循环数放在栈的某个固定位置,循环结束的时候把其拷贝到栈顶减一,用jump语句判断结果是否为0(0的话结束循环,不然继续循环)就好辣,还什么预处理,什么超复杂的操作,题目看完,样例看完,不就马上写好了吗?

代码

#include <cstdio>#include <cstring>#include <iostream>using namespace std;int main() {  puts("cccc"); // 读入一个数,作为循环次数  puts("ccccccc"); // 放入fib第0项 0  puts("cccccccc"); // 放入fib第1项 1  puts("ccccccc"); // 循环开始处  puts("ccccccccc");  puts("ccccccccccc");  puts("ccccc"); // 以上几步把 f[i - 1]拷贝至栈顶  puts("cccccccccc");  puts("ccccccccc");  puts("ccccc"); // 以上几步把 f[i - 1]拷贝至栈顶下一个元素  puts("c"); // 加法,求出 f[i + 1]  puts("cccccccc");  puts("ccccccc");  puts("cccccccc");  puts("cccccccccccc");  puts("ccccc");  puts("cc");  puts("ccccccccccc");  puts("cccccccc");  puts("ccccc");  puts("ccccccccccc");  puts("cccccc"); // 以上几步将循环数减一,重新拷贝至栈顶,判断是否继续循环  puts("ccccccccc");  puts("cccccccccc");  puts("ccccc"); // 将f[n]拷贝至栈顶,因为循环结束的时候,栈顶元素是f[n + 1]}
0 0
原创粉丝点击