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

На входе программе даются два числа N и P - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В поезде 18 вагонов в каждом из которых 36 мест http://www.cyberforum.ru/cpp-beginners/thread327331.html
Решите очень нужно. В поезде 18 вагонов в каждом из которых 36 мест. Информация о проданных на поезд билетах хоронится в двухмерном массиве., номера строк который соответствует номерам вагонов , а номера столбцов - номерам мест. Если билет на то или иное место продано , то соответствующий элемент массива имеет значение 1 , в противном случае -0. Составить программу, определяющую число...
C++ С чего начать? В универе задали курсовую работу, на С++. Заданее следующее:Тренажер теннесиста. Тренажер представляет собой комнату с тремя стенами (в форме буквы П), у выхода которой находится теннесист. Теннисист может подавать мячи в произвольном направлении. Мячи отражаются от стен. Теннесист может отражать мячи двигаясь только поперек входа. В процессе игры фиксируется число мячей поданных тенесистом и... http://www.cyberforum.ru/cpp-beginners/thread327327.html
C++ Как составить формулу Sквадрата(площадь)?
Хотела сделать формулу с вводом переменной S=a*a, где а можно было бы вводить вручную, не получилось...объясните в чём ошибка и помогите решить #include "conio.h" #include "iostream" int Glob; int MyFun(int a, int n); int main(){ int S=n; n=MyFun(a); for i=n cin>>a;
C++ есть вложенный класс который является другом объемлюющего и всё это должно компилиться.
Сперва логика: Есть класс matrix. И есть класс diagonal; так я поразмыслил и пришёл к выводу, что объект diagonal в отрыве от объекта matrix существовать не может и поэтому сделал diagonal вложенным в matrix Кроме того, класс diagonal должен иметь доступ к полям matrix, поэтому вложенный класс друг для объемлюющего Наконец вся эта херь- шаблон. Два вопроса поэтому. Как сие реализовать?...
C++ E-mail чекер http://www.cyberforum.ru/cpp-beginners/thread327302.html
Доброго времени суток. Решил написать емайл чекер, который проверял бы и уведомлял пользователя об новых письмах. Например на mail.ru или yahoo.com. Пытался найти какие-нибудь исходники, но безуспешно. Посоветуйте с чего начать, какие либы использовать. Может подкините ссылку на какую-нибудь статью. В общем любая информация будет полезной.
C++ [DEV C++]`string' undeclared (first use this function) Пробую объявить строку а он пишет 17 C:\Users\Íàäæäà\Desktop\Òåëåôîííûå_Íîìåðà.cpp `string' undeclared (first use this function) Все способы уже которые смог придумать перебрал и 0 реакции. #include <string> все вариации пробовал. Но на строчки string pole_god; string mas_name = new string; все равно матерится. подробнее

Показать сообщение отдельно
insolent
 Аватар для insolent
826 / 347 / 15
Регистрация: 30.01.2009
Сообщений: 1,204
29.06.2011, 00:51     На входе программе даются два числа N и P
Взял тестовый вариант с algolist.manual.ru
N=15, P=135.
P=3*3*3*5, p1=3, s1=3, m1=15 div 3 + 15 div (3*3)=6
P2=5, s2=1, m2=3.

Получаем, что M=min{6 div 3, 3 div 1}=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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
#include <climits>
#include <process.h>
 
using namespace std;
 
// Функция howmany считает, сколько раз в разложении числа n!
// присутствует множитель mn.
long howmany ( long mn, long n );
// Функция st находит степень множителя mn в разложении 
// числа p на простые множители
long st ( long mn, long &n );
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, ".1251");
 
    long n,p,i,stp,m,km;
    bool flag;
    char ch;
 
    while ( true )
    {
        cout << "Введите число N и P => ";
        cin >> n >> p;
        if ( p != 1 )
        { 
            m = LONG_MAX;
            i = 2;
            flag = true;
            do
            {
                stp = st( i, p );
                if ( stp != 0 )
                {
                    km = howmany( i, n );
 
                    if ( km/stp < m)
                    {
                        m = km/stp;
                        if ( !m ) flag = false;
                    }
                }
 
                ( i == 2 ) ? i = 3 : i += 2;
            } while ( !(i>p || !flag) );
 
            cout << "Число M равно " << m << endl;
        } 
        else
        {
            cout << "Число M не существует." << endl;
        }
 
        cout << "Продолжить ? (y/n)";
        cin >> ch;
        if ( ch == 'N' || ch == 'n') exit(1);
    }
 
    system("PAUSE");
    return 0;
}
 
long howmany( long mn, long n )
{
    long pr1 = mn, pr2 = 0, pr3 = 1;
 
    while ( pr3 != 0 )
    {
        pr3 = n / pr1;
        pr1 *= mn;
        pr2 += pr3;
    }
 
    return pr2;
}
 
long st( long mn, long &n )
{
    long prom = 0;
 
    while ( n%mn == 0 )
    {
        prom++;
        n /= mn;
    }
 
    return prom;
}
 
Текущее время: 22:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru