プログラムソース

#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

■関連記事