zoj 1239

xiaoxiao2021-02-28  42

zoj 1239

递归解法

代码块

#include <stdio.h> #include <memory.h> #include <math.h> int a[51]={0};//pegs int disc=0; int num=0; int l; int judge(int x,int y){//判断平方数 int m; int temp; m=x+y; temp=sqrt(m); if(temp*temp==m) return 1; else return 0; } int hanoi_again(int a[],int last){ int i=0; int j=0; for(i=0;i<last;i++){ if(judge(a[i],disc)){ a[i]=disc; disc++; return hanoi_again(a,last); } } if(last<num){ a[last]=disc; disc++; last++; return hanoi_again(a,last); } else{ return disc; } } int main(){ int n; scanf("%d",&n); while(n--){ scanf("%d",&num); disc=1; l=1; memset(a,0, sizeof(a)); printf("%d\n",hanoi_again(a,l)-1); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-2629207.html

最新回复(0)