Computer/프로그래밍

법인 번호 생성

alias 2008. 12. 8. 11:32
반응형
1. 법인 번호는 주민번화와 같이 13자리임
 - ABCDEF-GHIJKLM

2. M은 다음으로 결정됨
 1) Sum=(A*1 + B*2 + C*1 + D*2 + E*1 + F*2 + G*1 + H*2 + I*1 + J*2 + K*1 + L*2)
 2) Sum=Sum%10
 3) 만약 Sum==0 이면 Sum 그렇지 않으면 Sum=10-Sum
 4) M은 Sum 임

3. 생성 방법은..
 1) A->L까지 랜덤 생성
 2) M은 2로직으로 결정

ruby script는 다음과 같다.

require 'date'

reg_no=[]
sum=0
12.times do |x|
    reg_no[x]=rand(9)
    multi_factor=x%2+1
    sum=sum+reg_no[x]*multi_factor
end
sum=sum%10
sum==0 ? sum=sum : sum=10-sum
reg_no[13]=sum
corp_num=''
reg_no.map { |x| corp_num=corp_num+x.to_s}
puts corp_num

P.S 주의!! 위 스크립트는 학습 목적으로 제작된 것으로 다른용도로 사용하지 말것.
반응형