ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1407. Раз-два, раз-два

where is my mistake?
Послано ooo 11 дек 2008 22:39
#include  <iostream.h>
bool z(int);
void main()
{int n,i,q=1;
cin>>n;
for(i=1;i<=n;i++) q*=2;
for(i=0;i<10000;i++) if((z(i)) && (i%q==0)) {cout<<i; break;}
if(i==10000) cout<<"No solution";}
bool z(int x)
{int j=0;
while(x!=0) {if((x%10!=1) && (x%10!=2)) j++; x=x/10;}
if(j==0) return true;
else return false;}
Re: where is my mistake?
Послано Dmitriy 3 фев 2010 21:00
Imagine that n is 100.
q (2 ^ 100) will be overflowed.
You must have 10000 digits but not number under 10000=)