当前位置: 代码迷 >> C语言 >> 关于动态分配+算法
  详细解决方案

关于动态分配+算法

热度:516   发布时间:2008-05-05 20:59:00.0
while(pow(2,(c-'A'+1))>inc)
你的程序注定比我的还要慢……………………
----------------解决方案--------------------------------------------------------
你在看看呢..呵呵
----------------解决方案--------------------------------------------------------
翅膀兄弟,还在吗?最后再顶下...呵呵
----------------解决方案--------------------------------------------------------
似乎回来晚了!
各位 程序写的很精妙!谢谢!
先学习了!
但是 好像 没有解决我的问题!为什么我程序不行!
继续求――――――――??
----------------解决方案--------------------------------------------------------
看来大家很喜欢讨论算法!以后有好东东就放上去了
飞燕两个代码 空间换时间 最好例子!
----------------解决方案--------------------------------------------------------
Orz....飞燕二分法那个,哪里空间换时间了??
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#include <ctype.h>
#include <math.h>

int main()
{
    char ch;
    while (scanf(" %c",&ch)!=EOF && isalpha(ch))
    {
        long m,em=1<<(toupper(ch)-'A'+1),i;
        for (m=1;m<em;m++)
        {
            for (i=0;!(m&(1<<i));i++);
            putchar('A'+i);
        }
        putchar('\n');
    }
    return 0;
}

简洁优雅的是写不出来了。不递归的话,这个代码应该算是最短的了吧?
因为sizeof(int)是常数,所以二分也没什么优势的说……
----------------解决方案--------------------------------------------------------
恨啊,如果能很快算出log2(n)的话,使用m&-m可以省不少代码啊……
----------------解决方案--------------------------------------------------------
整整4页的回复,我不知道你们在做什么?你们好好研究求助者的问题和程序了吗?
你们搬出你们的程序有什么用?不管有多精简多优化,可是那是楼主想要的吗?!
希望大家一起来研究楼主的代码,找出错误的地方,这才是真正的帮助!
而不是答非所问...这也是该学习论坛的发展之道
----------------解决方案--------------------------------------------------------
LS的,服了你了。我们就是在讨论这道题的算法嘛。
LZ的代码……你自己看吧,别的不说,第一眼就可以发现,malloc了几次?free了几次??
我们讨论的算法,二叉树一种,递归一种,计数一种,二进制三种,二分法一种,给出了一共七种方法解决这道题。还不够么?难道非要把LZ的代码一句一句改正了才算数??
就是有这种人,只认为自己是好的。别人给出其他的方法就说是在作秀,就说“有什么用”,只能说,不会理解别人思想的,就没办法改正自己的思想,因为他的思想没有参照物。除非是天才,否则这种人永远也无法进步。
你比较有本事,你自己把楼主的代码一行行改正了看吧。反正我发言是我的自由,你的发言是你的自由。我们都无法干涉。
----------------解决方案--------------------------------------------------------