U E D R , A S I H C RSS

주민등록번호확인하기/조현태

C++


..ㅠ.ㅜ
~
탁해 .^^
.^^

// ... ?ㅎ

.ㅎㅎㅎ
, .. ~!!
13 50 7 ??ㅎㅎㅎ
..ㅎㅎㅎ
..ㅎㅎㅎ
~ ..ㅎㅎ( !ㅎㅎ)

~cpp 
#include <iostream>
#include <conio.h>

using namespace std;

const int BACK_SPACE=8;
const int CHAR_TO_NUMBER=48;

void main()
{
	cout << " '-' >>";
	int cursur=0;
	int input_number[13];
	while (cursur<13)
	{
		char number;
		number=getche();
		if (47<number && number<58)
		{
			number-=CHAR_TO_NUMBER;
			if (12==cursur)
			{
				int sum=0;
				for (register int i=0; i<12; ++i)
					sum+=input_number[i];
				if ((11-sum%11)%10==number)
					cout << "\n ~ ^^ !\n";
				else
					cout << "\n ???? -_-;;\n";
			}
			else input_number[cursur]=number*(cursur%8+2);
			++cursur;
		}else if (BACK_SPACE==number)
		{
			cout << " \b";
			--cursur;
		}
	}
}

.^^


~cpp 
#include <iostream>
#include <conio.h>

using namespace std;

const int BACK_SPACE=8;
const int CHAR_TO_NUMBER=48;

void main()
{
	cout << " '-' >>";
	int cursur=0;
	int put_num[13];
	while (cursur<13)
	{
		char number;
		number=getche();
		if (47<number && number<58)
		{
			number-=CHAR_TO_NUMBER;
			if (12==cursur)
			{
				int sum=0;
				for (register int i=0; i<12; ++i)
					sum+=put_num[i]*(i%8+2);;
				if ((11-sum%11)%10==number && put_num[2]*10+put_num[3]<13 && put_num[4]*10+put_num[5]<32 && put_num[6]<3)
					cout << "\n ~ ^^ !\n";
				else
					cout << "\n ???? -_-;;\n";
			}
			else put_num[cursur]=number;
			++cursur;
		}else if (BACK_SPACE==number)
		{
			cout << " \b";
			--cursur;
		}
	}
}


~cpp 
#include <iostream>
#include <conio.h>

using namespace std;

const int BACK_SPACE=8;
const int CHAR_TO_NUMBER=48;

void main()
{
	cout << " '-' >>"; // .
	int cursur=0; //   .
	int input_number[13];
	while (cursur<13) //13 .
	{
		char number;
		number=getche();
		if (47<number && number<58) //  .
		{
			number-=CHAR_TO_NUMBER;
			if (12==cursur)// .
			{
				int sum=0;
				for (register int i=0; i<12; ++i)
					sum+=input_number[i]; //  .
				if ((11-sum%11)%10==number) // .
					cout << "\n ~ ^^ !\n";
				else
					cout << "\n ???? -_-;;\n";
			}
			else input_number[cursur]=number*(cursur%8+2); //   .
			++cursur; //    .
		}else if (BACK_SPACE==number) //  .
		{
			cout << " \b"; //  .
			--cursur; //    .
		}
	}
}

Erlang

2007 . ROR Erlang . ( ) --
-_ -ㅎ

Erlang -_ -ㅎ



* pr_6.erl
-module(pr_6).
-export([checkNum/1]).
mulAndSum([], []) -> 0;
mulAndSum([FirstOne|RemainOne], [FirstAnother|RemainAnother]) -> FirstOne * FirstAnother + mulAndSum(RemainOne, RemainAnother).
sumList([], []) -> [];
sumList([FirstOne|RemainOne], [FirstAnother|RemainAnother]) -> [FirstOne + FirstAnother] ++ sumList(RemainOne, RemainAnother).
checkNumSub(List) -> 11 - (mulAndSum(List, [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 0]) rem 11) == lists:last(List).
checkNum(List) -> checkNumSub(sumList(List, lists:duplicate(13, -48))).

* shell
62> c(pr_6).
{ok,pr_6}
65> c(pr_6).                       
{ok,pr_6}
66> pr_6:checkNum("2222222222222").
false
67> pr_6:checkNum("2222222222223").
false
68> pr_6:checkNum("2222222222224").
false
69> pr_6:checkNum("2222222222225").
true

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:31:08
Processing time 0.0200 sec