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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
#1

Найти все натуральные числа от промежутка от 0 до 200. Проверить задачу - C++

05.12.2012, 15:12. Просмотров 660. Ответов 5
Метки нет (Все метки)

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S (S вводить с клавиатуры).

Что-то попытался, но ответ пишет странный мягко говоря. Подскажите пожалуйста что-нибудь по этому поводу. Заранее спасибо.

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
#include <stdio.h> 
#include <stdlib.h> 
 
main() 
{ 
       int S,x, n,i;
printf("\n Введите S: "); 
 scanf("%d", &S); 
 
 
for (n = 1; n <= 200; n++){
    x=0;
    for (i = 1;i <= n; i++){
     
        if (n % i == 0){    
              x=x+i;
             
        } 
        if(S==x){ printf("%d\n", x);}
            }
}
 
system("pause");
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.12.2012, 15:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти все натуральные числа от промежутка от 0 до 200. Проверить задачу (C++):

Найти все натуральные числа из промежутка от 1 до 200. Проверить программу - C++
Здравствуйте. Пожалуйста подскажите в чем тут ошибка? Выдаёт неккоректный ответ. Найти все натуральные числа из промежутка от 1 до 200, у...

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма четных делителей равна N (проверить) - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма четных делителей равна N #include &quot;stdafx.h&quot; #include...

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S. (S вводить с клавиатуры) #include &lt;stdio.h&gt; ...

Найти все натуральные числа из промежутка от 1 до 200, у которых количество делителей равно N - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых количество делителей равно N (N вводить с клавиатуры).

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма цифр равна S (S вводить с клавиатуры).

Найти все натуральные числа из промежутка от 1 до 200, у которых сумма чётных делителей равна N - C++
Нужна помощь,срочно!!!!!надо программы написать,они не большие,для знающих людей решаются за 5-7 минут!!Заранее спасибо... 1)Найти все...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ps10n1ck
54 / 48 / 2
Регистрация: 10.11.2010
Сообщений: 132
05.12.2012, 15:41 #2
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S
если я правильно понял, то это выглядит так:
промежуток: (1, 2, 3, 4, 5 .... 200]
в данном варианте сумма делителей если я правильно понял - разложение числа из промежутка на простые числа и проверка суммы этих простых чисел на равенство S?
0
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
05.12.2012, 15:52  [ТС] #3
Цитата Сообщение от ps10n1ck Посмотреть сообщение
если я правильно понял, то это выглядит так:
промежуток: (1, 2, 3, 4, 5 .... 200]
в данном варианте сумма делителей если я правильно понял - разложение числа из промежутка на простые числа и проверка суммы этих простых чисел на равенство S?
Кажется да.. Я просто мягко говоря не очень силен в С++, мне тут один человечек помог и убежал, а я вот сижу и разбираюсь, и на ответ выводит всякую бяку. Целый час сижу и пытаюсь в суть проблемы вникнуть. Может можно по-другому реализовать?
0
ps10n1ck
54 / 48 / 2
Регистрация: 10.11.2010
Сообщений: 132
05.12.2012, 15:56 #4
постараюсь что-то придумать, пока алгоритма нормального не придумал, все что в голову приходит, это просто методом перебора, но это тупо =). В течении дня, появится свободное время - попробую реализовать что-то путное.
1
dimoncheg
10 / 10 / 2
Регистрация: 18.10.2012
Сообщений: 220
05.12.2012, 16:16  [ТС] #5
Цитата Сообщение от ps10n1ck Посмотреть сообщение
постараюсь что-то придумать, пока алгоритма нормального не придумал, все что в голову приходит, это просто методом перебора, но это тупо =). В течении дня, появится свободное время - попробую реализовать что-то путное.
ваш ответ в теме уже что-то для меня значит, уже большое спасибо) теперь буду молиться чтобы мне или вам пришло в голову "что-то путное".
0
ps10n1ck
54 / 48 / 2
Регистрация: 10.11.2010
Сообщений: 132
08.12.2012, 15:20 #6
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
40
41
42
43
44
45
46
#include <iostream>
#include <vector>
#include <numeric>
 
using std::cout;
using std::cin;
using std::endl;
 
typedef unsigned int uint;
 
int main(){
  setlocale(LC_ALL, "Rus");
  uint S = 0;
  uint sum = 0;
 
  cout << "Введите сумму делителей: ";
  cin >> S;
 
  std::vector<int> v;
  std::vector<int> vsum;
  std::vector<int>::iterator i;
 
  for(uint i = 1; i <= S; ++i){
    for(uint j = 1; j <= i; ++j) {
      if(i%j == 0)
        v.push_back(j);
    }
  sum = std::accumulate(v.begin(), v.end(), 0);
  if(sum == S)
    vsum.push_back(i);
  v.erase(v.begin(), v.end());
  }
  
  if(vsum.size() > 0){
    cout << "Натуральные числа из промежутка у которых сумма делителей = " << S << endl;
    for(i = vsum.begin(); i != vsum.end(); ++i)
      cout << *i << " ";
    cout << endl;
  }
  else
    cout << "Промежуток не содержит натуральных чисел у которых сумма делителей = " << S << endl;
 
   
   system("pause");
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2012, 15:20
Привет! Вот еще темы с ответами:

Найти все натуральные числа из заданного промежутка, с заданным количеством делителей - C++
Найти все натуральные числа из промежутка от 1 до 200, у которых количество делителей равно N (N вводить с клавиатуры).

Найти все натуральные числа из промежутка от k до l, у которых количество делителей превышает заданное число m - C++
Люди добрые и мудрые. Как сделать сие чудо. Найти все натуральные числа из промежутка от k до l, у которых количество делителей превышает...

Найти все целые положительные числа a,b,c из промежутка - C++
3) Найти все целые положительные числа a,b,c из промежутка (0,100) такие что a^3+b^2=c^2. P.S. в первой и второй задаче желателен вод с...

Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m - C++
Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых , равен m Решите на С++.Буду благодарна!


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.12.2012, 15:20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru