1~N 까지의 숫자중 모두 한번씩 사용하여 출력하는 방법.

c)

#include <stdio.h>

#include <stdlib.h>

#include <time.h>


void printRandRange(int N){

int i, tmp, *memo;

srand(time(NULL));

memo = (int*)malloc(sizeof(int)*N);

for(i=0;i<N;i++){

memo[i] = 0;

}

for(i=0;i<N;i++){

do{

tmp = rand()%N;

}while(memo[tmp]);

memo[tmp] = 1;

printf("%d : -> %dn", i+1, tmp+1);

}

free(memo);

}


int main(void){

int N;

scanf("%d", &N);

printRandRange(N);

return 0;

}



python)

import random


N=int(input())

print(random.sample(range(1, N+1), N))




갓갓 파이썬