2013-02-26 2 views

답변

0

아니요, 복잡성을 줄일 수있는 방법이 없습니다. 10^n 출력을 생성하려면 10^n 번 반복해야합니다.

+0

그것은 엄청난 잘 생긴 그림 인 Ransom입니다. –

+0

@ G.Bach, 감사합니다. 그것이 2011 년 할로윈을 위해 한 표정인데, 이제는 더 정확한 초상화를 올리기가 거의 당황 스럽습니다. –

1

루프 수를 줄일 수있는 방법이 있습니까?

예 :

printf("00000000\n"); 
printf("00000001\n"); 
printf("00000002\n"); 
printf("00000003\n"); 
.... 

없음 루프. 그냥 많은 타이핑.

+0

롤, 현명한 대답 실제로. 나는 단지 아이러니다고 희망한다. –

+1

코드를 생성하기 위해 루프를 사용할 수있다. –

1

의가 단일 루프를 해보자

int i; 
for (i = 10000000; i < 100000000; i++) 
{ 
    printf("%d\n", i); 
} 

당신은, 당신은 모든 숫자를 인쇄하려면

하지 않습니다 (당신이 0이 아닌 숫자로 시작하는 진수 표현, C 언어, 숫자를 의미 가정) 속도를 높이기위한 알고리즘을 얻으십시오.

0

의사 codish ...

for val in (10000000..99999999) 
    display val 

당신은 당신이 8 개 루프를 필요 어떻게 생각 하죠?

+0

숫자가 4로 시작하는 것과 같은 몇 가지 제한이있는 경우 전체 루프에서 4를 반복해서는 안됩니다. 4804123566 같이 유효한 숫자가 아닙니다. 이와 같은 조건이 더있을 수 있습니다. –

+0

그리고 논리도 위에서 언급 한 것과 같은 복잡성을 가지고 있습니다. –

+0

그건 말도 안되는 의견입니다. 귀하의 질문에 "모든 가능한 숫자"를 원한다고 나와 있습니다. 그러나 정수를 표시하는 데 필요한 처리량을 감안할 때 8 루프 접근법을 사용하는 것이 더 나을 것입니다 ... 재귀 또는 스택과 함께 단일 루프를 사용하여 구현할 수 있다는 점만 제외하면 8 루프 접근 방식을 사용하는 것이 좋습니다. 이것은 8 개의 루프 변수를 유지하는 것보다 낫습니다. 그리고 언급 한 것처럼 특별한 규칙을 쉽게 구현할 수 있습니다. – paddy

관련 문제