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

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

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

Author24 — интернет-сервис помощи студентам
Каково будет условие вывода на экран простого числа( оно делится только на 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();}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2009, 20:08
Ответы с готовыми решениями:

Целое число называется простым, если оно делится на 1 и на самого себя. Например, числа 2,3,5 и 7 являются простыми, а 4
Целое число называется простым, если оно делится на 1 и на самого себя. Например, числа 2,3,5 и 7...

Для четного введенного числа определить, делится ли оно на 10, для нечетного - делится ли оно на 5
вечер добрый,помогите с програмкой на с++ условие:с клавиатуры вводиться целое число,для четного...

Является ли введенное число с клавиатуры простым т. е. делится только на само себя и еденицу
Помогите пожалуйста. Является ли введенное число с клавиатуры простым т. е. делится только на само...

Запросит 16 чисел и вывести на экран для каждого, делится ли оно на 11
Помогите решить такую задачку. Необходимо запросить 16 чисел и вывести на экран для каждого,...

15
Maniac
Эксперт С++
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
10.06.2009, 20:15 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 . . .
1
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 20:16  [ТС] 3
у меня с std почему то не работает а прога вроде правильная, как еще можно по другому сделать, без std?
0
692 / 383 / 51
Регистрация: 22.01.2009
Сообщений: 1,135
10.06.2009, 20:18 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::
1
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 20:19  [ТС] 5
Спасибо вам ребята вы мне очень помогли!
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 20:22 6
Она и не должна их выводить. Она выводит все числа, кроме тех, которые делятся на 2,3,5,7 (т. е. Все простые больше 7. Потому, что числа, не являющиеся простыми всегда делятся хотя бы на одно из чисел "первого десятка").
Соответственно, чтобы отобразить все простые числа, просто выведите перед этим циклом 2,3,5,7
0
9 / 9 / 7
Регистрация: 22.05.2009
Сообщений: 54
10.06.2009, 20:23 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. Их можно вручную вывести.
0
инженер-системотехник
111 / 111 / 5
Регистрация: 10.03.2009
Сообщений: 533
10.06.2009, 20:23 8
ЧТо-что, а это прога выводит тупо нечетные числа )))
Например

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

Не по теме:

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

0
3071 / 313 / 5
Регистрация: 02.06.2009
Сообщений: 3,293
10.06.2009, 20:47 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);
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
10.06.2009, 20:53 11
если хочешь выводить простые числа самый лучший вариант создай функцию на проверку простого числа которая будет возвращать булевское значение 1 если простое и 0 если нет и в main() просто гони и для каждого числа вызывай эту функцию )
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
10.06.2009, 20:59 12
Балбесы... без обид.
Чтобы найти все простый числа нужно делать массив или список.
Простое число - это число, которое не делится ни на какое ДРУГОЕ простое число.
И все.
алгоритм:
2 - исходно простое.
пишем в массив.
перебираем все числа в заданном диапазоне, каждое пытаемся разделить на любое из массива.
если находим не делящееся без остатка - пишем в тот-же массив.
и выводим на экран.

Ву-аля!
0
Отдыхающий:)
94 / 91 / 22
Регистрация: 05.04.2009
Сообщений: 188
10.06.2009, 21:00 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;
}
0
9 / 9 / 7
Регистрация: 22.05.2009
Сообщений: 54
10.06.2009, 21:07 14
<Norton>, Это ты лихо int на 2 поделил
0
425 / 229 / 87
Регистрация: 25.03.2009
Сообщений: 744
10.06.2009, 21:35 15
кароче решето эратосфена юзайте и массив битов из STL и счастье будет !)
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 22:49 16
Зачем изобретать велосипед? Решение где проверялся остаток от деления на 2,3,5,7 было идеальным и очень коротким. И оно выдает ВСЕ простые числа, если вы учтете то, что надо вывести 2,3,5,7. Объясню почему: любое число больше 7 либо гарантировано делится на 2, 3, 5 или 7, либо является простым. Третьего не дано.

Зы. Кстати это, по моему и есть то самое "решето Эратосфена".
Единственное, что можно было бы сделать, это с 3 прибавлять не по 1, а по 2. (т.е. брать только нечетные.) Это в 2 раза сократило бы время прохода по циклу
1
10.06.2009, 22:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2009, 22:49
Помогаю со студенческими работами здесь

Найти сумму простых чисел до N простое число, которое делится только на 1 и на само себя
Задано целое число N. Найти сумму простых чисел до N. простое число, которое делиться только на 1 и...

Запросите 16 чисел и выведите на экран для каждого, делится ли оно нацело на 11
Запросите 16 чисел и выведите на экран для каждого, делится ли оно нацело на 11. Спросите у...

Для заданного числа n определите делится ли оно на 9, используя признак делимости
1. для заданного числа n определите делится ли оно на 9, используя признак делимости. 2. провести...

Если число делится на 6, то оно делится на 2 и на 3. Доказать на ИП 1-ого порядка
Чтобы доказать утверждение что если число делится на 6, то оно так делится на 2 и на 3, я введу...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru