漢諾塔ix C語言

看了許多思路,突然想到一種方法

1是1 3 5 7 9

2是2 6 10 

3是4 12 20

n就是 2^n-1   2^n-1+2^n  2^n-1+2^n+2^n

代碼貼在下面

#include<stdio.h>
#include<math.h>
int main(void)
{
	int n,m,i;
	while(scanf("%d%d",&n,&m),n+m){
		if(m%2==1) printf("%d\n",1);
		else for(i=2;i<=n;i++){
			if((m+(int)pow(2,i-1))%(int)pow(2,i)==0){
				printf("%d\n",i);
				break;
			}
		}
	}
	return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章