Регистрация
Войти
Стать экспертом Правила
Информатика

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

ОТВЕТЫ
// PascalABC.NET 3.2, сборка 1377 от 19.01.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:integer;
  repeat
    n:=ReadInteger;
    if ngt;0 then begin
      var d:=false; // нужны цифры
      var a:=false; // нужны буквы
      repeat
        var r:=n mod 16;
        if r in [0..9] then d:=true
        else a:=true;
        n:=n div 16
      until (d and a) or (n=0);
      if a and d then Writeln(3)
      else
        if a then Writeln(1)
        else Writeln(2);
      n:=-1 // чтобы из цикла не выйти
      end
  until n=0
end.

Пример
13
1
15
1
9
2
27
3
0
#include lt;iostreamgt;

using namespace std;

int main() {
  int n = -1;
  while(!n) {
    int numbers = 0, letters = 0;
    cin gt;gt; n;
    for(; !n || (numbers amp;amp; letters); n/=16) {
       if(n16 lt; 10) numbers = 1;
       else letters = 1; 
    }
    if(numbersamp;amp;letters) cout lt;lt; 3 lt;lt; endl;
    else if(numbers) cout lt;lt; 1 lt;lt; endl;
    else if(letters) cout lt;lt; 2 lt;lt; endl;
  }
}
287
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам