| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1091 人关注过本帖
标题:花了3天时间还是解不出来~求高手指教
只看楼主 加入收藏
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:12 
这会儿满足要求了吧?处理了a==1的特殊情况,并且没有用到字符串,数组和递归(要求真TMD多……)

程序代码:
#include <stdio.h>
#include <stdlib.h>

#define A 0xAAAAAAAA

void bval(int n, size_t wide)
{
    int i, res = 0;

    for (i = wide; i--; n >>= 1)
        res = (res << 1) | (n & 1);
    for (i = wide; i--; res >>= 1)
        putchar('0' + (res & 1));
}

int main(void)
{
    int a, b;

    while (scanf("%d%d", &a, &b) == 2
            && a > 0 && a <= b && b >= 1 && b <= 31)
    {
        int n = 0, orig_n, bn = 1, orig_bn;

        if (a == 1)
        {
            bn = 1;
            for (n = 1; n < b; ++n)
                bn = (bn << 1) | 1;
            for (n = 0; n <= bn; ++n)
            {
                bval(n, b);
                putchar('\n');
            }
            continue;
        }

        while (n < b - a + 1)
        {
            int c = 0, cc = b - n - a;

            orig_n = n;
            orig_bn = bn;

            while (n > 0)
            {
                int d;
                for (d = 0; d < bn; ++d)
                {
                    bval(c, cc);
                    bval(A >> (32 - a), a);
                    bval(d, n);
                    putchar('\n');
                }
                n -= 1;
                bn >>= 1;
                c = (c << 1) | 1;
                cc += 1;
            }
            bval(c, cc);
            bval(A >> (32 - a), a);
            putchar('\n');
            n = orig_n + 1;
            bn = orig_bn << 1;
        }
    }
    return 0;
}


专心编程………
飞燕算法初级群:3996098
我的Blog
2009-10-24 08:16
ccapp
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2009-10-23
收藏
得分:0 
回复 21楼 StarWing83
呵呵 太感谢了   确实各个要求都很完善了   多谢 还有前面的UserYuH~~ 肯花时间帮我解决这个问题
2009-10-24 10:39
快速回复:花了3天时间还是解不出来~求高手指教
数据加载中...
 
   



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

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