Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 9
1

С++ Теория алгоритмов. Найти количество делителей

24.02.2013, 15:06. Показов 2090. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пусть х — некоторое натуральное число (1 <= x <= 1018), обладающее
следующим свойством - все простые делители этого числа не превосходят
1000. Найти количество его делителей.
Пример:
Входные данные/Выходные данные
12/6
239/2
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.02.2013, 15:06
Ответы с готовыми решениями:

Количество нулей двоичной записи числа.(Теория алгоритмов. Рекурсия)
Подсчитать количество нулей в двоичной записи n. Например 46 -&gt;101110? Помогите пожалуйста

Найти в диапазоне от M до N число с наибольшим количеством делителей. Функция: количество делителей заданного числа
Найти в диапазоне от M до N число с наибольшим количеством делителей. Функция: количество делителей заданного числа ...

Найти среди чисел то, которое имеет максимальное количество делителей и то, у которого сумма делителей максимальна
Найти среди чисел от 1 до 1000 то , которое имеет максимальное количество делителей и то , у которого сумма делителей максимальна . (...

5
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
24.02.2013, 15:19 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
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
 
int f(int n)
{
    int s=0,i;
   for(i=1;i<=n;i++)
    {
        if (n%i==0) s++;
        
    }
    return s;
 
};
 
void main() 
{
    int n;
    do
{
    cout<<"Vvedite n"<<endl;
    cin>>n;
} while (n <= 0|| n>=1018);
 cout << f(n);
}
1
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
24.02.2013, 17:49 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
25
26
27
28
29
#include <iostream>
#include <cmath>
using namespace std;
 
int main ()
{
    long long x, i, res=1, t;
    cin>>x;
    if(x==1)
    {
        cout<<1<<endl;
        return 0;
    }
    for(i=2; i<1001; i++)
    {
        if(x%i==0)
        {
            t=0;
            while(x%i==0)
            {
                t++;
                x/=i;
            }
            res+=res*t;
        }
    }
    cout<<res<<endl;
    return 0;
}
1
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
25.02.2013, 00:05 4
------------
0
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 9
26.02.2013, 00:06  [ТС] 5
Olya7, я прошу прощения, у меня не работал Visual studio, да и времени посмотреть код не было. Ваша программа построена не правильно. Мой вариант:
#include<iostream>

using namespace std;

int f(int n)
{
int s = 0, i;
for(i = 1; i <= n; i++)
{
if(n%i==0) s++;
}
return s;
}

void main()
{
int n;
cout << "Vvedite n: ";
cin>>n;

if(n > 1 || n < 1018)
cout << "S = " << f(n) << endl;

}
0
505 / 317 / 236
Регистрация: 18.02.2013
Сообщений: 754
26.02.2013, 00:14 6
Цитата Сообщение от Al-chan Посмотреть сообщение
Olya7, я прошу прощения, у меня не работал Visual studio, да и времени посмотреть код не было. Ваша программа построена не правильно
а в чем различие? я не даю пользователю ввести число вне заданного диапозона и не заставляю программу лишний раз исполняться...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2013, 00:14
Помогаю со студенческими работами здесь

Теория Алгоритмов или Путеводитель по созданию простых и эффективных алгоритмов
Я начинаю изучать язык Си, но в целом представляю, что такое алгоритм; могу написать алгоритм несложной задачи с использованием простых...

Найти все числа в диапазоне от M до N, имеющие ровно k делителей. Функция: количество делителей заданного числа
Найти все числа в диапазоне от M до N, имеющие ровно k делителей. Функция: количество делителей заданного числа Всем привет....

Найти количество чисел имеющих четное количество делителей
Дано целое число n. Найдите кол-во чисел от 1 до n, которые имеют четное кол-во делителей. Формат входных данных: В первой строке...

Найти количество чисел имеющих четное количество делителей
найдите количество от 1 до n которые имеют четное количество делителей Добавлено через 31 секунду вход 10 выход 7

Для каждого числа найти количество его делителей и определить общее количество простых чисел в последовательности
С клавиатуры вводится последовательность целых чисел, 0 - конец этой последовательности. Для каждого числа найти количество его делителей и...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Что нового в C# 14
UnmanagedCoder 10.03.2025
Предстоящая версия C# 14 обещает принести изменения, которые сделают разработку еще более приятной и эффективной. Что стоит отметить, так это влияние сообщества разработчиков на формирование новых. . .
Формулы поворота
Igor3D 10.03.2025
Добрый день Тема Эти формулы приводятся во множестве тьюториалов, часто под видом "матрица вращения на плоскости". x' = x * cos(a) - y * sin(a) y' = y * cos(a) + x * sin(a) Как бы Вы их. . .
Что нового в .NET 10
UnmanagedCoder 10.03.2025
. NET 10 выходит как релиз с длительной поддержкой (LTS), включающей три года обновлений. В этом обновлении Microsoft сфокусировались на нескольких направлениях: производительность, оптимизация. . .
Отложенное высвобождение, RCU и Hazard Pointer в C++26
NullReferenced 09.03.2025
Многопоточное программирование стало важной частью современной разработки. Когда несколько потоков одновременно работают с общими данными, возникает целый ряд проблем, связанных с синхронизацией и. . .
Неблокирующийся стек на C++26
NullReferenced 09.03.2025
Традиционные способы синхронизации в многопоточном программировании — мьютексы, семафоры, условные переменные — часто превращаются в узкое место в плане производительности. При этом неблокирующиеся. . .
Обработка строк в C++26: Новые возможности string и string_view
NullReferenced 09.03.2025
Новый стандарт C++26 предлагает много улучшений для работы с привычными string и относительно новыми string_view. string_view - это невладеющая ссылка на последовательность символов, появившаяся в. . .
Мой первый аддон для Blender 3D, с помощью нейронки (не зная даже азов пайтона, но это не значит что так и с остальным).
Hrethgir 09.03.2025
Потратил весь день. Пол-дня мне хватило, чтобы понять что с версией с 14B мне не одолеть написание функционального кода, на языке с которым я вообще никак не знаком - пайтон. Версия 22B от другого. . .
Einstein@Home сегодня исполняется двадцать лет!
Programma_Boinc 09.03.2025
Einstein@Home сегодня исполняется двадцать лет! Отправлено 19 февраля 2025 года в 17:20:21 UTC Я хочу поздравить всех наших волонтеров, разработчиков и ученых из Einstein@Home. Мы официально. . .
Заполнители и расширенный набор символов в C++26
NullReferenced 09.03.2025
C++26 представляет два важных обновления: заполнители и расширенный набор символов. Заполнители (placeholders) решают давнюю проблему лаконичности кода в шаблонных выражениях и лямбда-функциях. Они. . .
Контракты в C++26
NullReferenced 09.03.2025
Контракты – это механизм, позволяющий указывать предусловия, постусловия и инварианты для функций в коде. Эта функциональность должна была стать частью C++20, но была исключена на встрече комитета. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru