#include<stdio.h>
int pwr(int a){ /*aのb乗を求める関数*/
int i;
int j=1;
for(i=0;i<a;i++)
j*=2;
return (j);
}
void space(int a){ /*スペイスの出力*/
int i;
for(i=0;i<pwr(a);i++)
printf(" ");
}
void tri(int N,int j){ /*j行目の出力*/
if(N == 0)
printf("△");
else{
if(j<pwr(N-1)){
space(N-1);
tri(N-1,j);
space(N-1);
}
if(j>=pwr(N-1)){
j=j-pwr(N-1);
tri(N-1,j);
tri(N-1,j);
}
}
}
int main(){ /*全行処理*/
int i,n;
printf("数字を入力してください。");
scanf("%d",&n);
for(i=0;i<pwr(n);i++){
tri(n,i);
printf("\n");
}
return 0;
}
import java.lang.Math;
public class Recursion{
private static void printSpace(int a){
for(int i=0;i<Math.pow(2,a);i++){
System.out.print(" ");
}
}
private static void printTriangle(int N,int j){
if(N==0){
System.out.print("△");
}else{
if(j<Math.pow(2,N-1)){
printSpace(N-1);
printTriangle(N-1,j);
printSpace(N-1);
}
if(j>=Math.pow(2,N-1)){
j=j-(int)Math.pow(2,N-1);
printTriangle(N-1,j);
printTriangle(N-1,j);
}
}
}
public static void main(String args[]){
int size = Integer.parseInt(args[0]);
for(int i=0;i<Math.pow(2,size);i++){
printTriangle(size,i);
System.out.println();
}
}
}
続きは自然のプログラムをご覧ください。
■上部の画像はガウディ
■このページを良いと思った方、
↓のどちらかを押してください。
作成日:2019/8/6