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

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

Войти
Регистрация
Восстановить пароль
 
Al-chan
0 / 0 / 0
Регистрация: 12.02.2013
Сообщений: 9
#1

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

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

Пусть х — некоторое натуральное число (1 <= x <= 1018), обладающее
следующим свойством - все простые делители этого числа не превосходят
1000. Найти количество его делителей.
Пример:
Входные данные/Выходные данные
12/6
239/2
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2013, 15:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос С++ Теория алгоритмов. Найти количество делителей (C++):

Найти количество делителей - C++
найти количество делителей каждого из целых чисел от 120 до 140. помогите пожалуйста на Visual C++ сделать)очень нужно)

Требуется найти количество натуральных делителей n - C++
Дано натуральное число n. Требуется найти количество его натуральных делителей.

Найти количество положительных делителей произведения 10 чисел - C++
Десять математиков летели на воздушном шаре над Тихим океаном. Когда они пересекали экватор, они решили отметить это событие и открыли...

Требуется найти количество делителей n-значного числа (n > 20) - C++
Написал программу, но выдает неправильные ответы. Когда вводишь длинное число, почти всегда дает 2, хотя делителей много и много больше....

Найти количество делителей натурального числа N. больших К - C++
Найти количество делителей натурального числа N больших К. в с++

Найти количество положительных делителей натурального числа n - C++
Задано натуральное число n. Нужно вывести одно число - количество положительных делителей числа n.

5
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
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
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
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
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
25.02.2013, 00:05 #4
------------
0
Al-chan
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
olya7
477 / 294 / 91
Регистрация: 18.02.2013
Сообщений: 684
26.02.2013, 00:14 #6
Цитата Сообщение от Al-chan Посмотреть сообщение
Olya7, я прошу прощения, у меня не работал Visual studio, да и времени посмотреть код не было. Ваша программа построена не правильно
а в чем различие? я не даю пользователю ввести число вне заданного диапозона и не заставляю программу лишний раз исполняться...
0
26.02.2013, 00:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2013, 00:14
Привет! Вот еще темы с ответами:

Найти количество делителей натурального числа, больших K - C++
Помогите пожалуйста надо написать программу которая: Найти количество делителей натурального числа, больших К (К вводится).

Найти количество нечетных делителей натурального числа, больших К - C++
Прошу помочь с 3-мя задачками очень нужно сдать а сделать никак не могу. 2) Найти количество нечетных делителей натурального числа,...

Найти количество делителей каждого из целых чисел от 120 до 140 - C++
Найти количество делителей каждого из целых чисел от 120 до 140.

Дано натуральное число.Найти количество его делителей, больших d - C++
Дано натуральное число.Найти количество его делителей, больших d c++


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

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

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