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

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

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

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

10.06.2009, 20:08. Просмотров 2607. Ответов 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++
вечер добрый,помогите с програмкой на с++ условие:с клавиатуры вводиться целое число,для четного числа определяется делится ли оно на...

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,653
Записей в блоге: 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 . . .
Diamand
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 20:16  [ТС] #3
у меня с std почему то не работает а прога вроде правильная, как еще можно по другому сделать, без std?
FunDuck
688 / 379 / 4
Регистрация: 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::
Diamand
0 / 0 / 0
Регистрация: 29.05.2009
Сообщений: 37
10.06.2009, 20:19  [ТС] #5
Спасибо вам ребята вы мне очень помогли!
Deiron
25 / 25 / 1
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 20:22 #6
Она и не должна их выводить. Она выводит все числа, кроме тех, которые делятся на 2,3,5,7 (т. е. Все простые больше 7. Потому, что числа, не являющиеся простыми всегда делятся хотя бы на одно из чисел "первого десятка").
Соответственно, чтобы отобразить все простые числа, просто выведите перед этим циклом 2,3,5,7
Marinich
9 / 9 / 4
Регистрация: 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. Их можно вручную вывести.
Haster
инженер-системотехник
109 / 108 / 2
Регистрация: 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
ISergey
10.06.2009, 20:24
  #9

Не по теме:

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

Melodie
3070 / 309 / 5
Регистрация: 02.06.2009
Сообщений: 3,297
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);
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
10.06.2009, 20:53 #11
если хочешь выводить простые числа самый лучший вариант создай функцию на проверку простого числа которая будет возвращать булевское значение 1 если простое и 0 если нет и в main() просто гони и для каждого числа вызывай эту функцию )
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
10.06.2009, 20:59 #12
Балбесы... без обид.
Чтобы найти все простый числа нужно делать массив или список.
Простое число - это число, которое не делится ни на какое ДРУГОЕ простое число.
И все.
алгоритм:
2 - исходно простое.
пишем в массив.
перебираем все числа в заданном диапазоне, каждое пытаемся разделить на любое из массива.
если находим не делящееся без остатка - пишем в тот-же массив.
и выводим на экран.

Ву-аля!
<Norton>
Отдыхающий:)
94 / 91 / 10
Регистрация: 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;
}
Marinich
9 / 9 / 4
Регистрация: 22.05.2009
Сообщений: 54
10.06.2009, 21:07 #14
<Norton>, Это ты лихо int на 2 поделил
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
10.06.2009, 21:35 #15
кароче решето эратосфена юзайте и массив битов из STL и счастье будет !)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.06.2009, 21:35
Привет! Вот еще темы с ответами:

Если число делится на 6, то оно делится на 2 и на 3. Доказать на ИП 1-ого порядка - Логика и множества
Чтобы доказать утверждение что если число делится на 6, то оно так делится на 2 и на 3, я введу следующие предикаты div({x}_{1},{x}_{2})...

Определить все цифры в цифровой записи числа, на которые оно делится без остатка - Pascal ABC
Добрый вечер. Помогите, пожалуйста, написать программу. Дано натуральное четырехзначное число. Определить все цифры в цифровой записи...

Написать условие If, чтобы оно выяснялось только если оба неравенства верны - Visual Basic
я могу написать условие if xxx &gt; zzz or yyy &lt; zzz then . это условие будет выполнино если будет либо одно либо другое неравенство. как мне...

Определить все цифры в цифровой записи данного числа, на которые оно делится без остатка - C++
Дано натуральное четырехзначное число. Определить все цифры в цифровой записи данного числа, на которые оно делится без остатка. ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
10.06.2009, 21:35
Ответ Создать тему
Опции темы

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