정보/C

원자의 전자배치

MinseobKim 2021. 6. 29. 19:17

오비탈 준위 규칙(쌓음의 원리)

원자번호를 입력받으면 그에 맞는 오비탈을 출력해주는 프로그램이다. 

 

#include <stdio.h>

char a[5]={'s','p','d','f'};

int main(){
	int n,current=1,ob=0,num=1;//current:에너지 준위 합, ob=부양자수, num:주 양자수 
	scanf("%d",&n); // n: 양성자수
	while(n>0){
		ob=current-num;
		if(ob>=0&&ob<num){
			if(2*(ob*2+1)<=n){
				printf("%d%c(%d)",num,a[ob],2*(ob*2+1));
				n-=2*(ob*2+1);			
			}else{
				printf("%d%c(%d)",num,a[ob],n);
			return 0;
			}
		}
		num++;
		if(num>current){
			num=1;
			current++;
		}
		
	}	
}

ex)입력:20

 

'정보 > C' 카테고리의 다른 글

벤포드의 법칙(Benford's Law)  (0) 2022.01.20
[자작 게임] Journey to a star  (0) 2021.11.01