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

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


 
Вернуться
Тема: ПОМОГИТЕ, ПОЖАЛУЙСТА, СРОЧНО!!! Например: 29 >> 2+9= 11 >> 1+1= 2. 29+11+2=42 Как, зная только 42, найти 29???
1
  1  Мясофф Алекс, 23 февраля 2014 г. 17:11:14
      #include<fstream>
using namespace std;
int b=0,s=0,b0=0,j=0,b1=0;
int main(){
ifstream in ("input.txt");
ofstream out ("output.txt");
in>>b;
for(int i=1; i<10; i++)
{
b0=b-i;
b1=b0;
while(b0>0)
{
s=(b0%10)+s;
b0/=10;
}
if(s==i)
{
out<<b-i;
return 0;
}
s=0;
j=i+9;
b0=b-i;
b0-=j;
b1=b0;
while(b0>0)
{
s=(b0%10)+s;
b0/=10;
}
if(s==j)
{
out<<b-i-j;
return 0;
}
s=0;
}
out<<"-1";
return 0;
}
  2  Лукьянов Иван, 23 февраля 2014 г. 16:47:58
      Для некоторых чисел это однозначно не устанавливается. Например, 49 -> 66 и 60 -> 66. Если числа небольшие, то пройдёт обычный перебор.
1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

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