所以这题可以直接判定n是否为2的幂即可。 **/if((num & (num-1))==0){ printf("%s","NO"); }else{ printf("%s","YES"); }return0; } tips:断给定的整数n能否表示成连续的m(m>1)个正整数之和.
所以这题可以直接判定n是否为2的幂即可。 **/if((num & (num-1))==0){ printf("%s","NO"); }else{ printf("%s","YES"); }return0; } tips:断给定的整数n能否表示成连续的m(m>1)个正整数之和.
ConsecutiveInteger判断给定的整数n能否表示成连续的m(m>1)个正整数之和,假定有k个连续的正整数和为N,其中连续序列的第一个数为x,则有x+(x+1)+(x+2)+...+(x+k-1)=N。从而可以求得x=(N-k(k-1)/2)/k。当x的值小于等于0时,则说明已经没有正整数序列的和为N了,此时循环