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

Простые числа, или как это работает? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Конструкторы и указатели на объект класса http://www.cyberforum.ru/cpp-beginners/thread814877.html
Добрый вечер. Помогите, пожалуйста, прояснить 2 вещи: 1) В чём будет отличие между конструкторами: int a; //Исп. оператор присваивания MyClass(int val) { a = val; }
C++ Конструктор в производном классе Всем доброго времени суток! есть класс Строка (CStr) class CStr { protected: int length; char *str; public: CStr(); CStr(const char *s); http://www.cyberforum.ru/cpp-beginners/thread814860.html
Программа нахождения совершенных чисел C++
Нужно написать программу которая выводит совершенные числа (http://ru.wikipedia.org/wiki/%D0%A1%D0%BE%D0%B2%D0%B5%D1%80%D1%88%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE, меньшее 1000. Так же кроме самих совершенных чисел необходимо написать сумму их сомножителей. Программу я написал, но почему то числа у меня вывелись больше 1000 и не все числа, которые выводятся на экран,...
функция в функции y = e^x cos x C++
как можно написать функцию в функции к примеру y = ex cos x ?
C++ Наследование http://www.cyberforum.ru/cpp-beginners/thread814852.html
Не могу понять в чем ошибка. #include <iostream> #include <string> using namespace std; class Auto { protected: string model; int speed;
C++ Объясните почему не срабатывает И (&&) Есть задача нахождения наибольшего общего делителя для двух чисел. Программу я написал.Но почему когда я указывал в цикле И (&&), цикл выполнялся неправильно, а когда указал ИЛИ (||), все заработало. Объясните почему нужно ставить ИЛИ, когда по логике вроде подходит И. Заранее извиняюсь, если мой вопрос глуп #include<iostream> using namespace std; int nod (int, int); int main() {... подробнее

Показать сообщение отдельно
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
21.03.2013, 20:10     Простые числа, или как это работает?
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>
using namespace std;
void main(){
 
int digit=0;//количество чисел, которые делят i без остатка
for(int i=2;i<=1000;i++){//число, которое проверяют
    for(int j=1;j<=i;j++){//делитель
        if(i==2){//пропустить
            continue;
        }
        if(i%j==0){//если делится без остатка
            digit++;
        }
    
        if(j==i/2&&digit==1){//когда делитель больше половины делимого
//и когда только одно число, которое делит i без остатка, больше нет смысла подбирать числа
 
            cout<<i<<endl;
            digit=0;//сброс digit
        }
        if(digit>1){
            digit=0;//текущее число не простое. сброс digit
    break;}
        }
}
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru