시퀀스 출력

제목 설명 현재 임의의 n≥2에 대해 약속할 수 없는 증가 서열은 일련의 a/b가 0입력 설명 입력은 여러 그룹의 테스트 데이터를 포함하고 첫 번째 줄에 테스트 데이터의 수를 표시합니다.각 그룹의 테스트 데이터는 한 줄에 정수 n을 포함한다.
출력 설명은 각 그룹의 테스트 데이터에 대해 출력 한 줄에 대응하는 서열을 포함합니다.수와 수 사이를 ',' 로 나누고 출력은 빈칸이 없습니다. 구체적인 예는 다음과 같습니다.제한 2≤n≤100.
샘플 입력 4 2 3 4 5
샘플 출력 1/1/1/3,1/2,2/3 1/4,1/3,1/2,2,2,3/4 1/5,1/4,1/3,2/5,2/3,3/4,4/5
코드 예:
#include
#include
#define MAX  110
using namespace std;
//       
struct Node{
  int   up;//  
  int   down;//  
  Node* next;
};

//           a
//        1, a,b     
int gcd(int a,int b) {
    int r;
    while(b>0) {
        r=a%b;
        a=b;
        b=r;
    }
    return a;
}


int main(){
  Node *arr[MAX];//       
  Node *temp,*last_list_node,*new_list,*p;
  int list_num,M,n,flag;//list_num        ,M           
  double new_list_node_num,last_list_node_num;
  for(int i=0;iup=1;
  temp->down=2;
  temp->next=NULL;
  arr[2]->next=temp;//   arr[2]    
  list_num=2;//        1,       2  ,   F2    2  
  cin>>M;
  for(int i=0;i>n;
    if(n<=list_num){//         ,    
        p=arr[n]->next;//     
        while(p){
            cout<up<down;
            if(p->next) cout<next;
        }
        cout<next;//     
            for(int j=1;jup/last_list_node->down;
                            if(last_list_node && new_list_node_numup=j;
                                temp->down=list_num+1;
                                temp->next=NULL;
                                new_list->next=temp;
                                new_list=temp;
                                flag=1;
                            }
                            if(last_list_node && new_list_node_num>=last_list_node_num){//      
                                temp=(Node*)malloc(1*sizeof(Node));
                                temp->up=last_list_node->up;
                                temp->down=last_list_node->down;
                                temp->next=NULL;
                                new_list->next=temp;
                                new_list=temp;
                                last_list_node=last_list_node->next;
                            }
                    }
                    else{//          
                        break;
                    }
                }while(flag==0);
            }
        list_num++;
       }
        p=arr[n]->next;
        while(p){
            cout<up<down;
            if(p->next) cout<next;
        }
      if(i!=M-1)  cout<

좋은 웹페이지 즐겨찾기