码迷,mamicode.com
首页 > 其他好文 > 详细

小蜜蜂--大数问题

时间:2015-11-21 13:07:39      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

解题源代码:

 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

小蜜蜂--大数问题

标签:

原文地址:http://www.cnblogs.com/lunlv/p/4983292.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!