kuz-vlad21
?>

Составить программу на языке си известны год и номер месяца рождения человека. определить возраст человека на март(3 месяц) 2008 года

Информатика

Ответы

nalich8524
#include <stdio.h>

int main() {
 int year, month, cur_y = 2008, cur_m = 3, m_age, y_age;
 scanf("%d%d", &year, &month);
 if(month - cur_m > 0) {
   m_age = 12 - (month - cur_m);
   y_age = (cur_y - year) - 1;
  } else {
    m_age = cur_m - month;
    y_age = cur_y - year;
  }
  printf("%d years and %d months\n", y_age, m_age);
  return 0;
}
petrova-kate3

{данная программа переводит любое сочетание символов ascii в систему счисления заданную пользователем.}

//pascal abc.net v3.0 сборка 1111

var

  a,i,b,r,n,j,bug: integer;

  s,se,slo,slof: string;

procedure preob(var a,b,n: integer; var se: string);

  begin

  repeat

    b: =a mod n;

    a: =a div n;

    str(b,se);

    s+=se;

  until (a< =n-1);

  end;

beginreadln(slo);

readln(n);

for j: =1 to length(slo) do

begin;

a: =ord(slo[j]);

preob(a,b,n,se);

str(a,se);

s+=se;

for i: =1 to length(s) div 2 do

begin;

se: =s[i];

s[i]: =s[length(s)-i+1];

s[length(s)-i+1]: =se[1];

end;

write(s,'-');

slof: =slof+s;

delete(s,1,length(s));

end;

end.

пример ввода:

работа на завтра.

2

пример вывода:

11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-

{таким образом, фразу " работа на завтра." можно закодировать как "11000100-11101110-11101100-11100000-11111000-11101101-11111111-11111111-100000-11110000-11100000-11100001-11101110-11110010-11100000-100000-11101101-11100000-100000-11100111-11100000-11100010-11110010-11110000-11100000-101110-".}

kristina1989
Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.

121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.

Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. 
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим

49/6=8 |1
8/6 = 1 |2
1/6=0 |1

121(6)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Составить программу на языке си известны год и номер месяца рождения человека. определить возраст человека на март(3 месяц) 2008 года
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Беспалова
Vladimirovich1898
keykov35
Natysya7777
sveta1864
sakh2010kprf7
Романенко
Leon-12
vikapar2646
Казаков
Абдулганиева Сергей
zatoichi69
ruslanriad10
Mikhailovich_Viktoriya
oyudina