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

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

Войти
Регистрация
Восстановить пароль
 
ggglobal
Сообщений: n/a
#1

Сумма делителей - C++

24.12.2011, 10:50. Просмотров 556. Ответов 4
Метки нет (Все метки)

Помогите пожалуста с двумя задачами кто сможет
1
"Найти сумму делителей каждого из целых чисел от 10 до 20"
2
"Известно, что в массиве имеются нулевые элементы
а) вывести все нулевые элементы кроме первого
б) все нулевые кроме последнего

Хоть с чем нибудь помогите очень нужно пожалуста
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 10:50     Сумма делителей
Посмотрите здесь:

Сумма делителей данного натурального числа C++
C++ Найти все натуральные числа из промежутка от 1 до 200, у которых сумма чётных делителей равна N
Найти число от 100 до 300 у кторого сумма делителей равна 50??? C++
Найти сумму делителей C++
нахождение делителей числа C++
C++ Найти все натуральные числа из промежутка от 1 до 200, у которых сумма четных делителей равна N (проверить)
C++ Найти все целые числа из промежутка от 300 до 600, у которых сумма делителей кратна 10 (Netbeans)
C++ подбор делителей числа
Сумма делителей квадратов удвоенных чисел C++
Найти все натуральные числа из промежутка от 1 до 200, у которых сумма делителей равна S C++
C++ Вывести на экран только те целые числа отрезка [a, b], у которых сумма делителей равна заданному числу
Вывести количество делителей C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вася1q
21 / 21 / 0
Регистрация: 13.09.2011
Сообщений: 311
24.12.2011, 13:28     Сумма делителей #2
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main (void)
{
    int cnt=0;
 
    for (int i=10; i<=20; i++) 
{
        cnt=0;
        for (int j=2; j<i; j++) 
            if (!(i%j)) ++cnt;
        std::cout << i << ": " << cnt;
        std::cout << std::endl;
    }
 
    system ("pause");
    return 0;
}
easybudda
Эксперт С++
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
24.12.2011, 13:40     Сумма делителей #3
Цитата Сообщение от ggglobal Посмотреть сообщение
"Известно, что в массиве имеются нулевые элементы
а) вывести все нулевые элементы кроме первого
б) все нулевые кроме последнего
То есть два раза вывести нулей на один меньше, чем их всего в массиве?
ggglobal
Сообщений: n/a
24.12.2011, 18:18     Сумма делителей #4
Цитата Сообщение от Вася1q Посмотреть сообщение
1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main (void)
{
    int cnt=0;
 
    for (int i=10; i<=20; i++) 
{
        cnt=0;
        for (int j=2; j<i; j++) 
            if (!(i%j)) ++cnt;
        std::cout << i << ": " << cnt;
        std::cout << std::endl;
    }
 
    system ("pause");
    return 0;
}
БОЛЬШОЕ СПАСИБО
Цитата Сообщение от easybudda Посмотреть сообщение
То есть два раза вывести нулей на один меньше, чем их всего в массиве?
так в итоге и будет, но суть в самом коде
go
Эксперт C++
3585 / 1365 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 20:20     Сумма делителей #5
2-ая
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
#include <iostream>
#include <algorithm>
 
#define NUM 0
 
using namespace std;
 
int main () 
{
   int arr[]= {1,0,0,2,0,4,4,0,5,0};
   int size = sizeof (arr) / sizeof (arr[0]);
   int *p = find(arr, arr + size, NUM) + 1;
   int *p_end;
   
   while ( p++ - arr - size )
      if ( !(*(p - 1) ) )
      {
         p_end = p - 1;
         cout << *p_end;
      }
   
   cout << endl;
   while ( --p_end - arr + 1  )
      if ( !(*p_end) )
         cout << *p_end;  
      
   return 0;
}
http://liveworkspace.org/code/978745...4fba53e78ee82e
Пробуйте.
Yandex
Объявления
24.12.2011, 20:20     Сумма делителей
Ответ Создать тему
Опции темы

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