这个题目挺有意思的,我主要用了“斐波那契数列”的知识来解答的,但是发现了问题。
1、我用了函数递归来解题,导致时间超时,问题是由于每次解答一题要递归好几次。
2、题目中的 0<n<55头牛的条件没用上,所以换个思路,先循环一次把到55头牛在斐波那契数列中的排列记录下来,之后解题时候调用数列就快了很多。
结果在网页编译通过,答题正确。
#include<stdio.h> #define N 55 int monther_cow[N]; void monther_cow2(int n); int main() { int input[N]; monther_cow2(N); int i = 0; do { scanf("%d",&input[i]); }while(input[i++] != 0); for(int j = 0 ; j < i-1 ; j++) { if( input[j] < 4) { printf("%d\n",monther_cow[input[j]]); } else { printf("%d\n",monther_cow[input[j] - 1] + monther_cow[input[j] - 3] ); } } return 0; } void monther_cow2(int n)//记录的斐波那契数列中对应的规律到数列 { int i; for(i = 1 ; i <= n ; i++) { if( i < 4) { monther_cow[i] = i; } else { monther_cow[i] = monther_cow[i - 1] + monther_cow[i - 3]; } } }
0.0分
179 人评分
for(int j = 0 ; j < i-1 ; j++) { if( input[j] < 4) { printf("%d\n",monther_cow[input[j]]); } else { printf("%d\n",monther_cow[input[j] - 1] + monther_cow[input[j] - 3] ); } } 哪位哥,帮我解释一下这一段代码,谢谢
柚子都没我甜 2019-08-08 17:07:45 |
我也想知道....
#include <stdio.h> int fun(int n) { if (n <= 4) return n; else if (n > 4) return fun(n - 1) + fun(n - 3); } int main(void) { int n; do { scanf("%d", &n); if(n != 0) printf("%d\n", fun(n)); }while(n != 0); return 0; }
# include <stdio.h> int main(void){ int i,n,a[54]={1,2,3,4}; scanf("%d",&n); for(i=4;i<54;i++){ a[i]=a[i-3]+a[i-1]; } scanf("%d",&n); while(n!=0) { printf("%d\n",a[n-1]); scanf("%d",&n); } return 0; }
pingfan443 2019-05-29 19:36:04 |
这个应该不符合题意吧 虽然结果是对的
# include <stdio.h> int main(void){ int i,n,a[54]={1,2,3,4}; scanf("%d",&n); for(i=4;i<54;i++){ a[i]=a[i-3]+a[i-1]; } scanf("%d",&n); while(n!=0) { printf("%d\n",a[n-1]); scanf("%d",&n); } return 0; }
#include <stdio.h> int main() { int qua[55] = {1,2,3,4,}; int n,i; scanf("%d",&n); for(i=0; i<52; i++){ qua[i+3] = qua[i]+qua[i+2]; } while( n<55&&n != 0){ printf("%d\n",qua[n-1]); scanf("%d",&n); } return 0; }
C语言程序设计教程(第三版)课后习题3.7 (C++代码)浏览:988 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:805 |
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:820 |
简单的a+b (C语言代码)浏览:489 |
简单的a+b (C++语言代码)浏览:852 |
C语言训练-求PI* (C语言代码)浏览:613 |
【简单计算】 (C语言代码)浏览:622 |
WU-图形输出 (C++代码)浏览:800 |
简单的a+b (C语言代码)浏览:523 |
简单的a+b (C语言代码)浏览:807 |