[cpp] Re: Cpp Digest, Vol 24, Issue 26
Chen Shuo
giantchen at gmail.com
Mon Mar 20 20:54:06 CST 2006
看来不对哦。比如 m = 3,AB 串为 "BA" 时,有 bac 和 bca 两种情况,而你的程序算出 s = 1 了。
On 3/20/06, Feng Jiang <feng.a.jiang at gmail.com> wrote:
> 呵呵。有意思。刚才想了一下,是不是可以这样解决?
> 假设给定的字符串长度为m,就是那个小写字符串,例如abcd。
> 那么大写字符串T[]长度应该是m-1。
> 程序应该是这样的:
>
> int s = m!; //m的阶乘
> for(int i=0; i< m-1; i++) {
> char c = T[i];
> if( c == 'A' )
> s /= (i+2);
> else
> s = s* (i +1) / (i+2) ;
> }
> printf("%d\n", s);
>
> 这样子对吗?
More information about the Cpp
mailing list