주민등록번호를 만들어내는 규칙에 대해서 설명과 참고용 소스
페이지 정보
관련링크
본문
주민등록번호 형식
주민등록번호은 규칙이있습니다 주민등록번호는 총 13자리입니다
예를들어 주민번호 5 1 0 6 0 3 - 1 0 0 1 3 2 2는 데시를 기준으로
앞에는 6자리 다음은 7자리입니다 여기서 뒤의 7자리중
제일끝에 있는 수가 중요한 수 입니다 Check Dight 수라고합니다
이 앞의 12자리수는 Check Dight수와 어떤 규칙이 있습니다
규칙은 아래와 같습니다
우선 배열 2 3 4 5 6 7 8 9 2 3 4 5 의 12자리가 있습니다
여기에 주민등록번호 총13자리중 제일 마지막수를 빼고
순서대도 대응되는 숫자끼리 곱한수를 전부 더한 후 11로 나누어
나머지를 구한후 11에서 뺀 나머지의 1의자리를 Check Dight 수라고
합니다 위의 예를들어서
2*5 + 3*1 + 4*0 + 5*6 + 6*0 + 7*3 + 8*1 + 9*0 + 2*0 + 3*1 + 4*3 + 5*2
=97
97 / 11 = 8(목) ----- 9(나머지)
11 - 9(나머지) = 2
510603-100132x 에서 x=2라는 것은
어떤 공식이 성립이 된다고 생각하시면 됩니다
--------------------------------------------------------------------
#include<stdio.h>
main()
{
int c[12]={2,3,4,5,6,7,8,9,2,3,4,5},i,a,s=0,x,y,z=27;
clrscr();
gotoxy(1,3);
printf(“Input your jumin number : - “);
for(i=0;i<12;i++,z++) {
gotoxy(z,3);
a = getche() - 48;
if ( a == -21 ) exit(-1);
if ( a < 0 || a > 9 ) {
printf(“\nExtent out.. If you exit press Esc key..“);
printf(“\nContinue is press any key except Esc key..“);
( getch() == 27 ) ? exit(-1) : main();
}
s = ( s + ( a * c[i] ) );
if ( z == 32 ) z++;
}
a = ( getche() - 48 );
x = s % 11;
y = 11 - x;
if ( y > 9 ) y -= 10;
if ( y == a ) {
printf(“\nYour jumin number is Normal..“);
printf(“\nIf exit press Esc key.\nElse press any key except.“);
( getch() == 27 ) ? exit(-1) : main();
}
else {
printf(“\nCheck dight number error..“);
printf(“\nYour check dight number is not %d but %d.“,a,y);
printf(“\nIf exit press Esc key.\nElse press any key except.“);
( getch() == 27 ) ? exit(-1) : main();
}
}
주민등록번호은 규칙이있습니다 주민등록번호는 총 13자리입니다
예를들어 주민번호 5 1 0 6 0 3 - 1 0 0 1 3 2 2는 데시를 기준으로
앞에는 6자리 다음은 7자리입니다 여기서 뒤의 7자리중
제일끝에 있는 수가 중요한 수 입니다 Check Dight 수라고합니다
이 앞의 12자리수는 Check Dight수와 어떤 규칙이 있습니다
규칙은 아래와 같습니다
우선 배열 2 3 4 5 6 7 8 9 2 3 4 5 의 12자리가 있습니다
여기에 주민등록번호 총13자리중 제일 마지막수를 빼고
순서대도 대응되는 숫자끼리 곱한수를 전부 더한 후 11로 나누어
나머지를 구한후 11에서 뺀 나머지의 1의자리를 Check Dight 수라고
합니다 위의 예를들어서
2*5 + 3*1 + 4*0 + 5*6 + 6*0 + 7*3 + 8*1 + 9*0 + 2*0 + 3*1 + 4*3 + 5*2
=97
97 / 11 = 8(목) ----- 9(나머지)
11 - 9(나머지) = 2
510603-100132x 에서 x=2라는 것은
어떤 공식이 성립이 된다고 생각하시면 됩니다
--------------------------------------------------------------------
#include<stdio.h>
main()
{
int c[12]={2,3,4,5,6,7,8,9,2,3,4,5},i,a,s=0,x,y,z=27;
clrscr();
gotoxy(1,3);
printf(“Input your jumin number : - “);
for(i=0;i<12;i++,z++) {
gotoxy(z,3);
a = getche() - 48;
if ( a == -21 ) exit(-1);
if ( a < 0 || a > 9 ) {
printf(“\nExtent out.. If you exit press Esc key..“);
printf(“\nContinue is press any key except Esc key..“);
( getch() == 27 ) ? exit(-1) : main();
}
s = ( s + ( a * c[i] ) );
if ( z == 32 ) z++;
}
a = ( getche() - 48 );
x = s % 11;
y = 11 - x;
if ( y > 9 ) y -= 10;
if ( y == a ) {
printf(“\nYour jumin number is Normal..“);
printf(“\nIf exit press Esc key.\nElse press any key except.“);
( getch() == 27 ) ? exit(-1) : main();
}
else {
printf(“\nCheck dight number error..“);
printf(“\nYour check dight number is not %d but %d.“,a,y);
printf(“\nIf exit press Esc key.\nElse press any key except.“);
( getch() == 27 ) ? exit(-1) : main();
}
}
댓글목록
등록된 댓글이 없습니다.