admin管理员组文章数量:1130349
小蜜蜂
解题源代码:
1 #include <stdio.h>
2
3 unsigned long long RoadWay(int n) { //定义了unsigned long long类型
4 unsigned long long num1=1lu, num2=2lu;
5 unsigned long long temp;
6 int i;
7 if(n == 2) {
8 return 1lu;
9 } else if(n==3){
10 return 2lu;
11 } else {
12 for (i=4; i<=n; ++i) {
13 temp = num1 + num2;
14 num1 = num2;
15 num2 = temp;
16 }
17 return num2;
18 }
19 }
20
21 int main(int argc, const char * argv[]) {
22 // insert code here...
23 int n;
24 int a, b;
25 int len;
26
27 scanf("%d", &n);
28
29 while (n>0) {
30 scanf("%d%d", &a, &b);
31 if(a>0 && a< b && b<50) {
32 len = b-a;
33 printf("%I64d\n", RoadWay(1+len));
34 } else {
35 break;
36 }
37 --n;
38 }
39
40 return 0;
41 } 问题总结:
- 尽量不要使用递归算法,可以使用循环或者尾递归实现
- int -> unsigned int==unsigned long -> unsigned long long
转载于:.html
小蜜蜂
解题源代码:
1 #include <stdio.h>
2
3 unsigned long long RoadWay(int n) { //定义了unsigned long long类型
4 unsigned long long num1=1lu, num2=2lu;
5 unsigned long long temp;
6 int i;
7 if(n == 2) {
8 return 1lu;
9 } else if(n==3){
10 return 2lu;
11 } else {
12 for (i=4; i<=n; ++i) {
13 temp = num1 + num2;
14 num1 = num2;
15 num2 = temp;
16 }
17 return num2;
18 }
19 }
20
21 int main(int argc, const char * argv[]) {
22 // insert code here...
23 int n;
24 int a, b;
25 int len;
26
27 scanf("%d", &n);
28
29 while (n>0) {
30 scanf("%d%d", &a, &b);
31 if(a>0 && a< b && b<50) {
32 len = b-a;
33 printf("%I64d\n", RoadWay(1+len));
34 } else {
35 break;
36 }
37 --n;
38 }
39
40 return 0;
41 } 问题总结:
- 尽量不要使用递归算法,可以使用循环或者尾递归实现
- int -> unsigned int==unsigned long -> unsigned long long
转载于:.html
本文标签: 小蜜蜂
版权声明:本文标题:小蜜蜂 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/IT/1688354239a209871.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论