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

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

Восстановить пароль Регистрация
 
ggglobal
Сообщений: n/a
24.12.2011, 10:50     Сумма делителей #1
Помогите пожалуста с двумя задачами кто сможет
1
"Найти сумму делителей каждого из целых чисел от 10 до 20"
2
"Известно, что в массиве имеются нулевые элементы
а) вывести все нулевые элементы кроме первого
б) все нулевые кроме последнего

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

Сумма делителей данного натурального числа C++
Составить программу, в которой вычислить z=(s1+s2)/(k1*k2), где s1 и k1 - сумма и количество положительных элементов массива Х[N]; s1 u k2 - сумма C++
Найти число от 100 до 300 у кторого сумма делителей равна 50??? C++
C++ Найти все натуральные числа из промежутка от 1 до 200, у которых сумма четных делителей равна N (проверить)
C++ Найти все целые числа из промежутка от 300 до 600, у которых сумма делителей кратна 10 (Netbeans)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вася1q
 Аватар для Вася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
Модератор
Эксперт С++
 Аватар для easybudda
9372 / 5422 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
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++
3582 / 1362 / 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     Сумма делителей
Ответ Создать тему
Опции темы

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