Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 

Реализация на Pascal

var s1,s2: string;
    m: array[1..120] of integer;
    i,c,l1,l2 : integer;

begin
  assign(input, 'input.txt'); reset(input);
  assign(output, 'output.txt'); rewrite(output);

  readln(s1); readln(s2);

  l1:=length(s1); l2:=length(s2);

  while(length(s1)<110) do s1:='0'+s1;
  while(length(s2)<110) do s2:='0'+s2;

  i:=1;c:=0;
  while (i<=l1)or(i<=l2) do begin
    c:=c+ord(s1[length(s1)-i+1])+ord(s2[length(s2)-i+1])-96;
    m[i]:=c mod 10;
    c:=c div 10;
    inc(i);
  end;
  if c>0 then begin m[i]:=c;inc(i) end;
  l1:=i;

  for i:=l1-1 downto 1 do write(m[i]);

end.

Реализация на C++

#include <stdio.h>
#include <string.h>

char s1[102],s2[102],s3[102];
int i,c,l1,l2,l3;

int main(){
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);

  scanf("%s%s",s1,s2);
  l1=strlen(s1);
  l2=strlen(s2);
  for(i=0;i<101;i++){
    c+=((l1-i<1)?48:s1[l1-i-1])+((l2-i<1)?48:s2[l2-i-1])-96;
    if(s3[i]=c%10) l3=i;
    c/=10;
  }
  for(i=l3;i>=0;i--) printf("%d",s3[i]);

  return 0;
}


Красноярский краевой Дворец пионеров, (c)2006 - 2019, E-mail: admin@acmp.ru



krasnoyarsk-diploms.ru