| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1386 人关注过本帖
标题:Conway 康威数列求解!! conway sequence
只看楼主 加入收藏
emmaprincess
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
Conway 康威数列求解!! conway sequence
用C语言编写 conway 数列
conway 数列(可以描述前一行数列的情况)如下:
u0 = 1,
u1 = 11,  代表上一行有一个1;
u2 = 21, 代表上一行有两个1;
u3 = 1211,代表上一行有一个2, 一个1;
u4 = 111221, 代表上一行有一个1,一个2,两个1;
u5 = 312211, 代表上一行有三个1,两个2,和一个1;
.
.
.

要求:输入起始 数列 和 最终想达到的数列的SIZE(比如:u=312211, 代表size是6),然后输出此行之前包括此行的数列的元素。
举例:现在输入: 1(起始数列是1)   6(最后一行数列的SIZE)
结果:
u0 = 1,
u1 = 11,
u2 = 21,
u3 = 1211,
u4 = 111221,
u5 = 312211,
搜索更多相关主题的帖子: 康威 sequence C语言 元素 
2012-02-13 06:33
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:4 
先谈谈你的理解
2012-02-13 06:39
emmaprincess
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2012-2-13
收藏
得分:0 
回复 2楼 天天涯涯
我觉得完全没有思路,很乱。
2012-02-13 06:45
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
每一组数据都是对上一组数据的具体描述(U0除外)。比如U4是111221,表示U3是3有一个一(11),一个二(12),两个一(21),以此类推。
2012-02-13 06:54
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
U3是3改为U3,打错了。
2012-02-13 06:55
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
“U3是3”改为U3,打错了。
2012-02-13 06:56
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:4 
数据量不是很大的话直接描述就可以   至于怎么描述  还是楼主自己来吧

                                         
===========深入<----------------->浅出============
2012-02-13 15:10
zxd675816777
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:252
专家分:631
注 册:2012-2-3
收藏
得分:4 
自己动手,丰衣足食额。。。楼主加油

数学好难!
2012-02-13 19:30
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:4 
这大概是今天最有意思的贴子了。我更感兴趣的是外观数列的内在性质。它是否是自相似的。

重剑无锋,大巧不工
2012-02-13 23:12
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:4 
程序代码:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

char a[10] = {'0','1','2','3','4','5','6','7','8','9'};
char f_array[50];

void GetNextArray(void)
{
    /*根据题目的意思奇数位的代表上行序列连续相同数字的个数,
    偶数位的是连续相同数字的数,
    所用方法没什么可探讨,就是结尾处要做下处理。

    */
    int num = 1,i = 1;
    char *p, *q, temp[50];
    memset(temp, '\0', 50);
    q = p = f_array;
    p = p + 1;
    while(*p)
    {
        if(*p != *q)
        {
            temp[i] = *q;
            temp[i-1] = a[num];
            i = i + 2;
            num = 1;
            q = p;
        }
        else
        {
            num += 1;
        }
        p = p + 1;
    }
    temp[i-1] = a[num];
    temp[i] = *q;
    strcpy(f_array,temp);
}

int main()        

{
    int m;
    //输入限制我就偷懒不做处理了,字符串长度与m的值都需要限制下。

    printf("请输入起始序列: ");
    gets(f_array);
    printf("最终想达到的数列的SIZE: ");
    scanf("%d", &m);
    printf("以下所得数列:\n");
    printf("%s\n", f_array);
    while(1)
    {
        GetNextArray();
        if(m >= strlen(f_array))
        {
            printf("%s\n", f_array);
        }
        else
        { 

            printf("----it is over----\n");
            break;
        }
    }
    system("pause");
    return 0;
}

我的地盘
2012-02-14 14:03
快速回复:Conway 康威数列求解!! conway sequence
数据加载中...
 
   



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

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