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

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

Войти
Регистрация
Восстановить пароль
 
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
#1

Циклы [Pellec c] - C++

08.12.2010, 16:24. Просмотров 352. Ответов 5
Метки нет (Все метки)

В общем ситуация такова:
Задано подмножество натуральных чисел от 1 до N (вводится пользователем, N < 100000). Нужно найти число пар элементов из этого подмножества таких, что их сумма является простым числом. Например: (1,2), сумма равна 3. При этом пары, состоящие из одних и тех же элементов считать за одну пару. Например: (1,2) и (2,1).
Не могу понять каким образом осуществить это с помощью циклов.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.12.2010, 16:24     Циклы [Pellec c]
Посмотрите здесь:

Циклы - C++
Воозникли трудности. Можете помочь ?) Необходимо протабулировать функции, зависящее от 2 переменных или от нескольких параметров....

Циклы - C++
Разработать консольную программу в C++, для нахождения значения Y, с использованием операторов цикла с параметром, цикла с предусловием,...

Циклы - C++
В последовательности целых положительных чисел определить максимальное четное число и его порядковый номер. За раннее спасибо)

Циклы - C++
1)Используя перебор значений найти все числа из диапазона от n до m, которые при возведении в квадрат дают палиндром 2)В соревнованиях...

Циклы - C++
Дан номер телевизионного канала(от 1 до 5). Вывести на экран наиболее популярные программы заданного канала.

Циклы в С++ - C++
1) Начав тренировки, спортсмен пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2010, 19:41     Циклы [Pellec c] #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
#include <stdio.h>
#include <math.h>
int simp(int n)
{
    if(n!=2 && n%2==0)
        return 0;        
    for(int i=3; i<=(int)sqrt((double)n); i+=2)
       if(n%i==0)
           return 0;
    return 1;
}
int main()
{
    int N;
    scanf("%d", &N);
    int col=0;
    for(int i=2; i<N*2; i++)
        if(simp(i)==1)
        {
            if(i<=N+1)
                col+=i/2;
            else
                col+=i/2-(i-N-1);
        }
    printf("%d", col);
    return 0;
}
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
08.12.2010, 20:23  [ТС]     Циклы [Pellec c] #3
valeriikozlov, эх спасибо тебе. А вот только мы функций не проходили еще, поэтому извеняюсь за отобранное время.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2010, 21:14     Циклы [Pellec c] #4
Цитата Сообщение от napalm2005 Посмотреть сообщение
А вот только мы функций не проходили еще
Ничего страшного, пройдете. Вот без функций (правда я не понял о каких функциях идет речь - об int simp(int n) или sqrt(), убрал обе на всякий случай):
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 <stdio.h>
 
int main()
{
        int N;
        scanf("%d", &N);
        int col=0;
        for(int i=2; i<N*2; i++)
        {
            int fl=1;
            if(i!=2 && i%2==0)
                fl=0;
            for(int j=3; fl==1 && j<i/2; j+=2)
                if(i%j==0)
                    fl=0;
            if(fl==1)
            {
                if(i<=N+1)
                    col+=i/2;
                else
                    col+=i/2-(i-N-1);
            }
        }
        printf("%d", col);
        return 0;
}
napalm2005
1 / 1 / 0
Регистрация: 08.12.2010
Сообщений: 40
08.12.2010, 23:48  [ТС]     Циклы [Pellec c] #5
valeriikozlov, просто ситуация такова, что мы работаем с консольным приложением, и используем уже его "скелет":

#include <stdio.h>


int main(int argc, char *argv[])
{

return 0;
}


В котором, если я правильно понимаю используется только одна функция. Да и я еще дурак, не стал описывать, как я пытался это задание сделать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.12.2010, 23:55     Циклы [Pellec c]
Еще ссылки по теме:

циклы for, while - C++
for: Среди всех n-значных чисел (n = 1,2,3,4) указать те, сумма цифр которых равна данному числу k. while: Дано натуральное число n....

Циклы (1/2*2/3*3/4.(n-1)/n) - C++
Всем доброго времени суток. Подскажите как правильно написать цикл для поставленной задачи? Сама задача:

Циклы - C++
Как написать программу, в которой нужно сложить значения получаемые в цикле? z=sin(\sum_{3}^{10}(a*k+c)) a,c известны

циклы - C++
вывести на экран все целые числа из диапазона от А до Б, кратные трем (А&lt;=B)

Циклы - C++
В последовательности символов выдать на печать TRUE, если значение последнего символа равно F Помогите пожалуйста

На циклы do while - C++
даны два действительных числа а1,а2,... . Известно, что а1&gt;0 и что среди а2,а3,... есть хотя бы одно отрицательное число. Пусть а1,...,аn -...


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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
08.12.2010, 23:55     Циклы [Pellec c] #6
Тогда так:
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
#include <stdio.h>
 
 
int main(int argc, char *argv[])
{
        int N;
        scanf("%d", &N);
        int col=0;
        for(int i=2; i<N*2; i++)
                {
                        int fl=1;
                        if(i!=2 && i%2==0)
                                fl=0;
                        for(int j=3; fl==1 && j<i/2; j+=2)
                                if(i%j==0)
                                        fl=0;
            if(fl==1)
                        {
                                if(i<=N+1)
                                        col+=i/2;
                                else
                                        col+=i/2-(i-N-1);
                        }
                }
        printf("%d", col);
return 0;
}
Yandex
Объявления
08.12.2010, 23:55     Циклы [Pellec c]
Ответ Создать тему
Опции темы

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