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

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

Войти
Регистрация
Восстановить пароль
 
__Александр__
7 / 10 / 0
Регистрация: 17.09.2012
Сообщений: 188
Записей в блоге: 2
#1

Задача по нахождению идеальных чисел на заданном промежутке - C++

01.10.2012, 19:09. Просмотров 271. Ответов 1
Метки нет (Все метки)

почему в коде именно к/2 ???
(условие: задача по нахождению идеальных чисе в заданном промежутке; то есть сумма сомножителей чисоа должна быть равна самому числу например 6=1+2+3)

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 <iostream> // заголовок ввода, вывода
#include <conio.h> // старый заголовочный файл из С 
using namespace std; // пространство имён std
void perf(int); // функция с аргументом типа int, не возвращающая значения
int total=0; // переменная целочисленного типа
void main() // главная функция, точка входа в программу
{
for(int k=4;k<=10000;k++) // цикл который будет идти до тех пор пока переменная k не равна 10000
{
perf(k); // вызов функции с аргументом k
if(total==k) // если total равно К 
cout<<"perfect"<<total<<" "<<k<<endl; // вывод сообщения
total=0; // тотал присваивается значение 0
}
}
void perf(int k) // функция
{
for(int i=1;i<=k/2;i++) // цикл идёт до тех пор пока i меньше равно k делённое на 2
{
if(k%i==0) // если к делится по модулю и равно 0 
{
total=total+i; // к значению total прибавляется i
}
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2012, 19:09     Задача по нахождению идеальных чисел на заданном промежутке
Посмотрите здесь:

C++ Случайные числа в заданном промежутке
Random в С++ в заданном промежутке C++
C++ Поиск максимального значения функции на заданном промежутке
C++ Поиска максимального значения функции в заданном промежутке
Задача по нахождению ошибок в коде(язык с) C++
Найти количество идеальных чисел в заданном диапазоне C++
Вычисление функции на заданном промежутке C++
Протабулировать функцию на заданном промежутке C++
Отсортировать строки матрицы по сумме в них идеальных чисел C++
C++ На промежутке неком промежутке, включая начало и конец, найти количество таких чисел, что a[i]>= a[i-1]
Вычислить значение функции в заданном промежутке C++
C++ Рассчитать значение функции в заданном промежутке с заданном шагом

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
David Sylva
1285 / 947 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
01.10.2012, 19:51     Задача по нахождению идеальных чисел на заданном промежутке #2
k/2 потому в данном цикле идёт перебор сомножителей, а для 1000 самый большой сомножитель будет 1000 делённая на 2

Добавлено через 16 минут
Написал то же самое но чуть понятней

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream> 
 
int main() 
{ 
    int total = 0; // сумма сомножителей
    
    for ( int k = 4; k <= 10000; k++)  // цикл чисел
    { 
        for ( int i = 1; i <= k/2; i++) // до 500 
        { 
            if( k % i == 0) // если к делить на i по модулю равно 0
            { 
                total += i; // сумма увеличивается на i
            } 
        } 
        if( total == k) // если total равно k
            std::cout << "Idealnoe chislo " << k << std::endl; 
        total = 0;
    } 
}
Yandex
Объявления
01.10.2012, 19:51     Задача по нахождению идеальных чисел на заданном промежутке
Ответ Создать тему
Опции темы

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