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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.68
Diamand
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
#1

Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) - C++

10.06.2009, 20:08. Просмотров 2552. Ответов 15
Метки нет (Все метки)

Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя)
Есть вот это(точно не знаю, верна ли она), она НЕ выводит 3 и 7.

C++
1
2
3
4
5
6
7
8
9
#include <math.h>
#include <iostream.h>
#include <conio.h>
void main(void)
{int i,d,n,sum=0;
for(i=1;i<=500;i++){
 if ((i%2!=0)&&(i%3!=0)&&(i%5!=0)&&(i%7!=0))
   cout<<i<<endl; }
getch();}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2009, 20:08     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя)
Посмотрите здесь:
C++ Для четного введенного числа определить, делится ли оно на 10, для нечетного - делится ли оно на 5
Определить все цифры в цифровой записи данного числа, на которые оно делится без остатка C++
C++ Для вводимого с клавиатуры числа определить, сколько раз подряд оно делится без оcтатка на цифры от 2 до 9
C++ Как выразить условие в операторе if для нахождения простого числа
Известно, что число делится на три тогда и только тогда, когда сумма его цифр делится на три. Проверим этот признак для заданного трехзначного числа X C++
C++ Дано натуральное четырехзначное число. Определить все цифры в цифровой записи данного числа, на которые оно делится без остатка
C++ Нужно откоректировать программу которая будет при вводе любого числа, выводить чётное оно или нет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1372 / 883 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
10.06.2009, 20:15     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #2
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
int main()
{
 
    for(int i = 0; i < 20; ++i)
    {
        if( i & 1 ) std::cout << i <<" ";
    }
    std::cout<<'\n';
    return 0;
}
Добавлено через 46 секунд
Результат
1 3 5 7 9 11 13 15 17 19
Press any key to continue . . .
Diamand
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 20:16  [ТС]     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #3
у меня с std почему то не работает а прога вроде правильная, как еще можно по другому сделать, без std?
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
10.06.2009, 20:18     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #4
Вроде такое:
C++
1
(i%2 != 0 || i == 2) && (i%3 != 0 || i == 3) && (i%5 != 0 || i == 5) && (i%7 != 0 || i == 7)
Добавлено через 1 минуту 17 секунд
Цитата Сообщение от Diamand Посмотреть сообщение
у меня с std почему то не работает а прога вроде правильная, как еще можно по другому сделать, без std?
У тебя так же юудет только без std::
Diamand
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 20:19  [ТС]     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #5
Спасибо вам ребята вы мне очень помогли!
Deiron
25 / 25 / 1
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 20:22     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #6
Она и не должна их выводить. Она выводит все числа, кроме тех, которые делятся на 2,3,5,7 (т. е. Все простые больше 7. Потому, что числа, не являющиеся простыми всегда делятся хотя бы на одно из чисел "первого десятка").
Соответственно, чтобы отобразить все простые числа, просто выведите перед этим циклом 2,3,5,7
Marinich
9 / 9 / 4
Регистрация: 22.05.2009
Сообщений: 54
10.06.2009, 20:23     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #7
C++
1
2
3
4
5
6
7
8
9
10
11
for (int i = 1, k = 0; i <= 500; i ++){
   for (int j = 2; j < i; j ++){
      if (i % j == 0){
         k = 1;
         break;
      }
    }
   if (k == 0)
      cout << i << endl;
   k = 0;
}
Не будет выводить 1 и 2. Их можно вручную вывести.
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 10.03.2009
Сообщений: 533
10.06.2009, 20:23     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #8
ЧТо-что, а это прога выводит тупо нечетные числа )))
Например

Результат
Цитата:1 3 5 7 9 11 13 15 17 19
Press any key to continue . . .
Смотрим, число 15: явно не простое, т.к. делится на 1,3,5,15
ISergey
10.06.2009, 20:24
  #9

Не по теме:

блин пить надо меньше.. не то написал. извините.

Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
10.06.2009, 20:47     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #10
попробуйте так, должно работать
C++
1
2
3
4
5
6
7
8
9
10
11
12
int i, j;
_Bool prostoe_chislo;
 
for(i=2; i<=500;++i)
     prostoe_chislo=1;
 
     for(j=2; j<i; ++j)
         if(i%j==0)
             prostoe_chislo=0;
 
         if(prostoe_chislo!=0)
             printf("%i  ", i);
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
10.06.2009, 20:53     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #11
если хочешь выводить простые числа самый лучший вариант создай функцию на проверку простого числа которая будет возвращать булевское значение 1 если простое и 0 если нет и в main() просто гони и для каждого числа вызывай эту функцию )
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
10.06.2009, 20:59     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #12
Балбесы... без обид.
Чтобы найти все простый числа нужно делать массив или список.
Простое число - это число, которое не делится ни на какое ДРУГОЕ простое число.
И все.
алгоритм:
2 - исходно простое.
пишем в массив.
перебираем все числа в заданном диапазоне, каждое пытаемся разделить на любое из массива.
если находим не делящееся без остатка - пишем в тот-же массив.
и выводим на экран.

Ву-аля!
<Norton>
Отдыхающий:)
94 / 91 / 10
Регистрация: 05.04.2009
Сообщений: 188
10.06.2009, 21:00     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
    bool d;
    for (int i=2;i<=100;i++)
    { 
    d=true;
        for (int j=2;j<=i/2;j++)
        if(i % j == 0) 
        {
        d=false;
        break;
        }
    if(d) cout<<"Chislo "<<i<<" prostoe\n";
    }
    return 0;
}
Marinich
9 / 9 / 4
Регистрация: 22.05.2009
Сообщений: 54
10.06.2009, 21:07     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #14
<Norton>, Это ты лихо int на 2 поделил
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
10.06.2009, 21:35     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #15
кароче решето эратосфена юзайте и массив битов из STL и счастье будет !)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2009, 22:49     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя)
Еще ссылки по теме:
Вывести на экран все числа, на которые заданное число делится без остатка C++
C++ Проверить гипотезу: если сумма цифр числа делится на 3, то и само число делится на 3
C++ Дано целое число N. Найдите все такие целые числа d, что N делится на d2 и не делится на d3.
C++ перевод строки в число, определить делится ли оно на 4
C++ Написать программу, выполняющую деление на 2 заданного числа до тех пор, пока не будет выполнено условие

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

Или воспользуйтесь поиском по форуму:
Deiron
25 / 25 / 1
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 22:49     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) #16
Зачем изобретать велосипед? Решение где проверялся остаток от деления на 2,3,5,7 было идеальным и очень коротким. И оно выдает ВСЕ простые числа, если вы учтете то, что надо вывести 2,3,5,7. Объясню почему: любое число больше 7 либо гарантировано делится на 2, 3, 5 или 7, либо является простым. Третьего не дано.

Зы. Кстати это, по моему и есть то самое "решето Эратосфена".
Единственное, что можно было бы сделать, это с 3 прибавлять не по 1, а по 2. (т.е. брать только нечетные.) Это в 2 раза сократило бы время прохода по циклу
Yandex
Объявления
10.06.2009, 22:49     Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя)
Ответ Создать тему
Опции темы

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