Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/35: Рейтинг темы: голосов - 35, средняя оценка - 4.66
14 / 2 / 0
Регистрация: 18.11.2011
Сообщений: 90

Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно.

14.11.2012, 21:10. Показов 7574. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дана задача.
Выставить цифры в числе 1234567890 таким образом, чтобы новое число делилось без остатка на все числа от 2 до 18 включительно.

Я написал нижеследующее, но программа выводит почему то такие числа как 12252240, 24504480 и т.д.
Что я тут неправильно написал?

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
using namespace std;
 
int main ()
{ int k=0;
   int a[9];
   int r=0;
  unsigned long int n=1000000000;
  bool flag=true;
  
  for (unsigned long int i=1234567890; i<=9876543210; i++)
 {  while (n>0)
  {
      a[r]=i/n; r++;
            
    i=i-(i/n*n); n=n/10;
    
  }
    
     for (int x=0; x<9; x++)
     { for (int y=x+1; y<10; y++)
         if (a[x]==a[y]) {flag=false; break;}
     }
      
 
     for (int j=2; j<=18; j++)
     {  if (i%j==0) k++; }  
 
 
     if (k==17 && flag==true) cout << i << " ";
     k=0; 
     
 }
 
return 0;
 }
Добавлено через 2 часа 6 минут
неужели никто не знает?


Кто-нибудь поможет сегодня?

Добавлено через 24 минуты
Попробовал изменить таким образом, но всё равно не работает

//////////////////////////////////////////////

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
using namespace std;
 
int main ()
{ int k=0;
   int a[9];
   int r=0;
  unsigned long int n=1000000000;
  bool flag=true;
  bool flag2=true;
  
  for (unsigned long int i=1234567890; i<=9876543210; i++)
  {   for (int j=2; j<=18; j++)
  {  if (i%j==0) k++; }  
      if (k!=17) flag2=false; k=0;
      
      while (n>0)
  {
      a[r]=i/n; r++;
            
    i=i-(i/n*n); n=n/10;
    
  }
    
     for (int x=0; x<9; x++)
     { for (int y=x+1; y<10; y++)
         if (a[x]==a[y]) {flag=false; break;}
     }
      
 
     if (flag2==true && flag==true) cout << i << " ";
     
     
 }
 
return 0;
 }
Добавлено через 25 минут
Я подумал, что в самом низу где я вывожу i, i уже потерял своё значение, поэтому добавил дополнительную переменную m и присвоил ему значение i. Но программа всё равно не работает.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
using namespace std;
 
int main ()
{ int k=0;
   int a[9];
   int r=0;
  unsigned long int m;
  unsigned long int n=1000000000;
  bool flag=true;
  bool flag2=true;
  
  for (unsigned long int i=1234567890; i<=9876543210; i++)
  {   for (int j=2; j<=18; j++)
  {  if (i%j==0) k++; }  
  if (k!=17) {flag2=false;} k=0;
   m=i;
      
      while (n>0)
  {
      a[r]=i/n; r++;
            
    i=i-(i/n*n); n=n/10;
    
  }
    
     for (int x=0; x<9; x++)
     { for (int y=x+1; y<10; y++)
         if (a[x]==a[y]) {flag=false; break;}
     }
      
 
     if (flag2==true && flag==true) cout << m << " ";
     
     
 }
 
return 0;
 }
Добавлено через 11 минут
Обалдеть. Неужели никто не знает?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.11.2012, 21:10
Ответы с готовыми решениями:

В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число
В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими же цифрами. ...

Припишите к 523*** три такие цифры справа ,чтобы полученное шестизначное число делилось на 7,на 8 и на 9 без остатка
Припишите к 523*** три такие цифры справа ,чтобы полученное шестизначное число делилось на 7,на 8 и на 9 без остатка

припишите к 523*** три такие цифры справа, чтобы полученное шестизначное число делилось на 7, на 8 и на 9 без остатка
припишите к 523*** три такие цифры справа, чтобы полученное шестизначное число делилось на 7, на 8 и на 9 без остатка

41
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
26.11.2012, 21:32
Студворк — интернет-сервис помощи студентам
всё нормально, просто подожди достаточно времени, чтобы дождаться результата.
Или используй нормальный, алгоритм как я советовал, а не топорный перебор 10 миллиардов чисел * на проверку 90 цифр в каждом цикле - итого 900 миллиардов проверок не считая мелочи.
Ерунда сущая. У меня за 5 минут проверил меньше миллиарда чисел, значит полная проверка займёт примерно час.
А так всё в порядке
0
 Аватар для Toshkarik
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
26.11.2012, 21:37
Parilo, Вы понимаете, что код после continue; никогда не выполняется?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.11.2012, 21:37

Переставить цифры числа таким образом, чтобы получилось минимальное возможное число без ведущих нулей
Дано натуральное число n. Необходимо переставить его цифры таким образом, чтобы получилось минимальное возможное число без ведущих нулей....

В данном натуральном числе переставить цифры таким образом, чтобы получилось наименьшее число записанное этими же цифрами
2. В данном натуральном числе переставить цифры таким образом, чтобы получилось наименьшее число записанное этими же цифрами.

В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими цифрами
1)В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими же цифрами. 2)Дано...

В данном натуральном числе переставить цифры таким образом, чтобы образовалось наибольшее число, записанное этими же цифрами.
В данном натуральном числе переставить цифры таким образом, чтобы образовалось наибольшее число, записанное этими же цифрами.

В длинном числе изменить только одну цифру так, чтобы новое число делилось на 9
Задано натуральное число, содержащее не более 200 цифр. В этом числе требуется изменить только одну цифру так, чтобы новое число делилось...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
42
Ответ Создать тему
Новые блоги и статьи
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru