U E D R , A S I H C RSS

파스칼삼각형/윤종하 (rev. 1.3)

파스칼삼각형/윤종하

C++
#include<iostream>

using namespace std;

int fac(int n)
{
	if(n==0) return 1;
	else return n*fac(n-1);
}

int combi(int n,int k)
{
	return fac(n)/(fac(k)*fac(n-k));
}

int main()
{
	cout<<"몇 줄?";
	int line;
	cin>>line;

	int i,j;

	for(i=0;i<line;i++)
	{
		for(j=0;j<line-i;j++)	std::cout<<" ";
		for(j=0;j<=i;j++)	std::cout<<combi(i,j)<<" ";
		std::cout<<std::endl;
	}
	
	return 0;
}


- Python
def fac(n):
    if(n==0):
        return 1
    else:
        return n*fac(n-1)

def combi(n,k):
    return fac(n)/(fac(k)*fac(n-k))

def pascal(n):
    for i in range(0,n,1):
        for j in range(0,n-i,1):
            print "",
        for j in range(0,i+1,1):
            print combi(i,j),
        print "\n"

n=input("줄 수")
pascal(n)


알고리즘은 쉬운데 파이썬은 개행이 자동인데다가 공백도 자동으로 들어가서 힘드네요 ㅠ
암튼 수학문제는 수학책이 진리인듯요 ㅋ

그리고 확실히 C++보단 Python이 코딩하기는 쉬운거 같습니다.
C++로는 길게 짜야되는데 Python으로짜니까 간단히 끝나네요.

또 실행할 때 큰 수를 치면 C++은 잘려버려서 연산이 안 되지만, Python은 열심히 연산을 해주는 차이점도 보이구요.
그나저나 속도는 C++이 Python보다는 확실히 빠르네요
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:23
Processing time 0.0148 sec