Форум программистов, компьютерный форум CyberForum.ru

Найти и вывести все числа из интервала (доделать) - C++

Восстановить пароль Регистрация
 
igor223
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 37
05.02.2014, 21:21     Найти и вывести все числа из интервала (доделать) #1
Привет помогите пожалуйста доделать задачу она работает только не до конца правильно: 5. Дано натуральное двухзначное число N. Найти и вывести все числа из интервала

от 1 до N-1, для которых произведение всех цифр совпадает с суммой цифр этого числа.

Если таких чисел нет, то вывести соответствующее сообщение. например,

N = 44. Числа: 18,24.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
int main (){
int N;
cout<<"Enter N";
cin>>N;
int s;
int d=1;
for(int i=10;i<N;i++)
{
d=1; s=0;
d=(i%10)*(i/10);
s=(i%10)+(i/10);
if(d==s)cout<<endl<<i;
if(d<s || d>s)cout<<"no";
};
system ("PAUSE");
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2014, 21:21     Найти и вывести все числа из интервала (доделать)
Посмотрите здесь:

C++ Из заданного интервала натуральных чисел определить все простые числа
C++ Вывести все Простые дроби из интервала (0; 1), знаменатель которых не превышает n.
C++ Найти все натуральные числа a, b, с из интервала
Найти все простые числа из интервала от 100 до 1000, используя логическую функцию C++
Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
05.02.2014, 21:34     Найти и вывести все числа из интервала (доделать) #2
Цитата Сообщение от igor223 Посмотреть сообщение
например,

N = 44. Числа: 18,24.
Погоди, а разве 8 и 42 не входят в этот интервал???

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
#include <iostream>
using namespace std;
 
int main()
{
    int N;
    cin >> N;
    while (N < 10 || N >= 100)
    {
        cout << "try again: ";
        cin >> N;
    }
    unsigned sum = N % 10 + N / 10;
    for (unsigned i = 1; i < N - 1; ++i)
    {
        unsigned tmp = i, mult = 1;
        while (tmp)
        {
            mult *= tmp % 10;
            tmp /= 10;
        }
        if (mult == sum)
            cout << i << " " ;
    }
    cout << endl;
    system("pause");
}
igor223
0 / 0 / 0
Регистрация: 01.02.2014
Сообщений: 37
05.02.2014, 22:42  [ТС]     Найти и вывести все числа из интервала (доделать) #3
vovacreme, я не понял.......я потому и попросил помочь эту часть задачи я не совсем понимаю(
Цитата Сообщение от vovacreme Посмотреть сообщение
unsigned
и что это?
vovacreme
-16 / 61 / 13
Регистрация: 14.01.2014
Сообщений: 145
05.02.2014, 23:10     Найти и вывести все числа из интервала (доделать) #4
Цитата Сообщение от igor223 Посмотреть сообщение
vovacreme, я не понял.......я потому и попросил помочь эту часть задачи я не совсем понимаю( и что это?
это то же, что и unsigned int. Модификатор типа unsigned указывает, что переменная принимает неотрицательные значения. При этом самый левый бит области памяти, выделяемой для хранения значения, используется так же, как и все остальные биты области памяти - для представления значения.
Yandex
Объявления
05.02.2014, 23:10     Найти и вывести все числа из интервала (доделать)
Ответ Создать тему
Опции темы

Текущее время: 19:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru