| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1125 人关注过本帖
标题:苦思冥想一个C语言问题 我才学到指针和结构变量 给大家做看看这个问题,我想 ...
只看楼主 加入收藏
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
斐波那契数列吧  我写过的一个高效率算法 可以在logn时间复杂度内求出第n项  网址如下

https://bbs.bccn.net/thread-352527-1-1.html

                                         
===========深入<----------------->浅出============
2011-11-01 18:34
a476644693
Rank: 2
等 级:论坛游民
帖 子:31
专家分:29
注 册:2011-8-2
收藏
得分:0 
程序代码:
#include "stdio.h"
#include "conio.h"
main()
{
  long f1,f2;
  int i;
  f1=f2=1;
  for(i=1;i<=20;i++)
  {
    printf("%12ld %12ld",f1,f2);
    if(i%2==0) printf("\n"); /*控制输出,每行四个*/
    f1=f1+f2; /*前两个月加起来赋值给第三个月*/
    f2=f1+f2; /*前两个月加起来赋值给第三个月*/
  }
  getch();
}
官方权威答案,我没研究过,先发你!
2011-11-01 18:56
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:0 
以下是引用竹闲云在2011-11-1 18:29:59的发言:

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    int yue,i,c;
    int m=1,n=1,sum;
    printf("请输入过了几个月:");
    scanf("%d",&yue);
    if(yue==1||yue==2)
    {
        printf("过了%d兔子的数量变为1\n",yue);
    }
    else
    {
        
        for(i=3;i
你这个是错的。不信自己算下。我等下发一个。
2011-11-01 20:55
cqm9266
Rank: 3Rank: 3
来 自:福建
等 级:论坛游侠
帖 子:174
专家分:186
注 册:2011-10-28
收藏
得分:0 
好的

没病的人说有病的人有病,有病的人说没病的人有病。到底是谁有病?
2011-11-01 20:56
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:0 
#include "stdio.h"
int tuzi(int n)
{
    int i,sum=0;
    for(i=1;i<=n;i++)
    if(i>2) sum+=2;
    return sum;
}
void main()
{
    int month,i,sum=2;
    printf("请输入月份\n");
    scanf("%d",&month);
    if(month>=3)
    for(i=month;i>=3;i-=3)
    sum+=tuzi(i);
    printf("%d个月兔子的总数是%d",month,sum);
 
}
楼主试试这个。
2011-11-01 21:10
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:0 
楼主,我搞错了。题目没看清,我以为是第三个月就可以生兔子。呵呵。稍微改下就OK了。
2011-11-01 21:20
幻影逍遥
Rank: 2
等 级:论坛游民
帖 子:23
专家分:24
注 册:2011-10-31
收藏
得分:0 
修正版
#include "stdio.h"
int tuzi(int n)
{
    int i,sum=0;
    for(i=1;i<=n;i++)
    if(i>3) sum+=2;
    return sum;
}
void main()
{
    int month,i,sum=2;
    printf("请输入月份\n");
    scanf("%d",&month);
    if(month>=4)
    for(i=month;i>=4;i-=4)
    sum+=tuzi(i);
    printf("%d个月兔子的总数是%d",month,sum);
 
}
2011-11-01 21:23
竹闲云
Rank: 2
等 级:论坛游民
帖 子:39
专家分:34
注 册:2011-10-9
收藏
得分:0 
回复 13楼 幻影逍遥
按照书本的数据   这个是对的
2011-11-03 12:18
竹闲云
Rank: 2
等 级:论坛游民
帖 子:39
专家分:34
注 册:2011-10-9
收藏
得分:0 
回复 17楼 幻影逍遥
只想说  第一个月兔子就是两只啊?

我晕了  

按照书上给的数据

1月 和 2月是1只兔子
3--2   4--3  5--5  6--8  7--13  8--21

你自己运行一下你的程序   或许你的理解错误了
2011-11-03 12:21
竹闲云
Rank: 2
等 级:论坛游民
帖 子:39
专家分:34
注 册:2011-10-9
收藏
得分:0 
回复 17楼 幻影逍遥
还想说句   你出来的数据完全不对

请不要误导楼主
2011-11-03 12:23
快速回复:苦思冥想一个C语言问题 我才学到指针和结构变量 给大家做看看这个问题 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046572 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved