Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Помогите найти алгоритм


Автор: ip127001 21.1.2007, 23:46
Здравствуйте товарищи!

Дернуло программиста по сути и духовному состоянию пойти на информатика-экономиста,
теперь во всех идиотских закономерностях экономической теории ищу алгоритм реализации.. smile 
штука ввот в чем...

все знаю что такое ИНН
вот пример 55 06 0209 0
55-код региона
06-код районной налоговой
0209-еще одна лабуда...долго писать)
0-это контрольное число....находится по алгоритму -добавочное число!
рыскал в google ничего не нашел...мож кто слышал помогите...а то не отпустит пока непокорит С данный алгоритм))))

Автор: Romikgy 22.1.2007, 00:04
Цитата(ip127001 @  21.1.2007,  22:46 Найти цитируемый пост)
вот пример 55 06 0209 0

дык накидал бы примеров

Автор: maxim1000 22.1.2007, 00:15
может имеется в виду "число, подобранное так, чтобы какая-то функция от всего номера принимала заданное значение"

под "какой-то функцией" можно понимать, например, контрольную сумму или (если в общем виде) какую-нибудь хеш-функцию

это вполне может быть использовано для проверки отсутствия ошибок при передаче номера (ну, не 100%-ной, но всё же)

Автор: ip127001 22.1.2007, 02:04
Цитата(Romikgy @  22.1.2007,  00:04 Найти цитируемый пост)
дык накидал бы примеров

примеров чего?
ИНН? пожалуйста, но сомниваюсь что здесь легко просматриваетсяы закономерность...
5506065435
5506068849
550601297087
550609884993
изучай smile 

Цитата(maxim1000 @  22.1.2007,  00:15 Найти цитируемый пост)
может имеется в виду "число, подобранное так, чтобы какая-то функция от всего номера принимала заданное значение"

да вероятно так..но алгорит просчета все еще не ясен smile  smile  smile 

Автор: maxim1000 22.1.2007, 03:29
не... угадывать такое не просто бесполезно, но и опасно, а то можно придумать алгоритм, который будет работать на большом количестве данных, но отличаться от настоящего на других, и выяснится это в самый неподходящий момент... надо именно узнать, какой алгоритм используется... ИМХО...

Автор: Romikgy 22.1.2007, 10:03
Цитата(ip127001 @  22.1.2007,  01:04 Найти цитируемый пост)
5506065435
5506068849
550601297087
550609884993

а че длинна разная?

Автор: ip127001 22.1.2007, 17:12
Цитата(maxim1000 @  22.1.2007,  03:29 Найти цитируемый пост)
не... угадывать такое не просто бесполезно, но и опасно, а то можно придумать алгоритм, который будет работать на большом количестве данных, но отличаться от настоящего на других, и выяснится это в самый неподходящий момент... надо именно узнать, какой алгоритм используется... ИМХО...

так я отомже....есть существующий математический алгоритм, называется добавочное число...


Цитата(Romikgy @  22.1.2007,  10:03 Найти цитируемый пост)
5506065435
5506068849
550601297087
550609884993    

а че длинна разная?

для юр. и физ. лиц разные ИНН...это я для примера, чтобы ты понял, что просчитать по числам не удасться из-за огромного кол-ва вариаций...я даже не уверен, что данный алгаритм(доб. число)
работает только с числами, входящих в сам ИНН...возможны всякие вариации...кто их там поймет...
надо просто сам алгоритм найти! Я в гугле искадл ничего не нашел((((((((((((( smile  smile  smile 

Автор: Glip 22.1.2007, 20:08
хрен найдешь.
джпеги на странице
http://just.siberia.net/raznoe.htm

Добавлено @ 20:11 
яндекс - найдется все smile хоть и не с первого раза  smile

Автор: Romikgy 22.1.2007, 21:06
Код

int culc_contrl(const char* x)
{
   long z,t=0;
  int i=0;
  z= strlen(x)-1;
  while (z)
  {
     t+=(x[z]-'0')*koef[i];
     i++;
     z--;
  }
  t+=(x[z]-'0')*koef[i];
  t%=11;
  return 11-(int)t;
}

cout<<culc_contrl("55060988499")<<endl;

для 
Цитата(ip127001 @  22.1.2007,  16:12 Найти цитируемый пост)
550609884993 

ф_ция считает для всех

Автор: ip127001 23.1.2007, 11:13
Цитата(Romikgy @  22.1.2007,  21:06 Найти цитируемый пост)

хрен найдешь.
джпеги на странице
http://just.siberia.net/raznoe.htm

Добавлено @ 20:11 
яндекс - найдется все  хоть и не с первого раза  

ООО...спасибо большое...+1 за помощь


Romikgy-спасибо, но код был необязателен....но все равно большое спасибо за участие в моей проблеме--тебе бы +2 поставил если бы мог)....надеюсь присутсвующим интересно было smile 
тему в топку smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)