Как записать цикл коротко, с помощью рекурсии - C (СИ)
Формулировка задачи:
Всем привет. Если честно, хотел сам решить данную задачу, но вот уже второй день ничего не выходит, а дедлайн поджимает. Поэтому прошу помощи экспертов. Внимание, вопрос
Как записать данный цикл коротко, с помощью рекурсии:
Не покидает ощущение, что делается это как-то просто, но у меня не выходит. Я уже пытался и рекурсивную функцию сделать, все равно..
Спасибо за внимание.
for(i=0; i<n; i++){ if(n<1){break;} for(p[0]=i+1; p[0]<n; p[0]++){ if(n<2){break;} for(p[1]=p[0]+1; p[1]<n; p[1]++){ if(n<3){break;} for(p[2]=p[1]+1; p[2]<n; p[2]++){ if(n<4){break;} for(p[3]=p[2]+1; p[3]<n; p[3]++){ if(n<5){break;} for(p[4]=p[3]+1; p[4]<n; p[4]++){ // и так далее... printf("%d, %d, %d, %d, %d, %d\n", kostky[i], kostky[p[0]], kostky[p[1]], kostky[p[2]], kostky[p[3]], kostky[p[4]]); cel++; } printf("%d, %d, %d, %d, %d\n", kostky[i], kostky[p[0]], kostky[p[1]], kostky[p[2]], kostky[p[3]]); cel++; } printf("%d, %d, %d, %d\n", kostky[i], kostky[p[0]], kostky[p[1]], kostky[p[2]]); cel++; } printf("%d, %d, %d\n", kostky[i], kostky[p[0]], kostky[p[1]]); cel++; } printf("%d, %d\n", kostky[i], kostky[p[0]]); cel++; } printf("%d\n", kostky[i]); cel++; }
Решение задачи: «Как записать цикл коротко, с помощью рекурсии»
textual
Листинг программы
5, 4, 3, 2, 1 5, 4, 3, 2 5, 4, 3, 1 5, 4, 3 5, 4, 2, 1 5, 4, 2 5, 4, 1 5, 4 5, 3, 2, 1 5, 3, 2 5, 3, 1 5, 3 5, 2, 1 5, 2 5, 1 5 4, 3, 2, 1 4, 3, 2 4, 3, 1 4, 3 4, 2, 1 4, 2 4, 1 4 3, 2, 1 3, 2 3, 1 3 2, 1 2 1 Всего: 31
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д