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

Рекурсивное нахождение простых чисел - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как подключить библиотеку TBB (параллельное программирование)? http://www.cyberforum.ru/cpp-beginners/thread573676.html
Здравствуйте! Не могу подключить библиотеку TBB к VS 2008, Windows7Ultimate SP1. Делаю так http://habrahabr.ru/post/102670/. Начинает компилировать, потом выдает ошибку отсутствует tbb_debug.dll. Скачала msvs_plugin_package_101026, пыталась в Configuration Properties - Linker - Input - Additional Dependencies указать tbb_integration_vc8.dll, tbb_integration_vc8.AddIn, paths.xml (не указались)....
C++ Проблемы с выводом на экран После вывода результата, программа сохраняет данные в файл rezerv.txt, сохраняет нормально, а вот вывести эти данные на экран я не могу. Не работающий участок: if (number==3) { system("cls"); ifstream out("rezerv.txt"); while (!out.eof()) { http://www.cyberforum.ru/cpp-beginners/thread573667.html
Хватит ли барану веревки, чтобы дотянуться до травы C++
Баран находится на острове диаметр которого 23 м. Баран привязан на берегу. У барана на шее верёвка, длина которой 12м. Означает ли это, что баран может есть траву с той территории, которая находится от барана максимум в 12 метрах от берега Вопрос сколько процентов площади острова баран получит, если длина веревки изменится? За ранее спасибо !
C++ Массивы.
1) Сформировать одномерный массив целых чисел, использую датчик случайных чисел. 2) Распечатать полученный массив. 3) Удалить первые 5 элементов массива. 4) Добавить в конец массива 3 новых элемента. 5) Распечатать полученный массив. Просьба помочь с этими заданиями. Добавлено через 1 час 29 минут Никак не могу разобраться с данной задачей, точнее с 2,3,4,5 пунктами.
C++ отладить программу http://www.cyberforum.ru/cpp-beginners/thread573643.html
тема задачи реализация собственных классов в с++ программа написана, но очь много ошибок, не пойму откуда
C++ Аналог функции copy из делфи для string в С++ Предположим у нас есть 2 переменные типа string. Как из 1й скопировать часть в другую? К примеру в делфи это так: var s1,s2:string; ... s1:='qwerty' s2:=copy(s1, 2,4); //в s2 будут содержаться символы со 2го по 4 из переменной s1 подробнее

Показать сообщение отдельно
Владислав94
0 / 0 / 0
Регистрация: 26.10.2010
Сообщений: 25

Рекурсивное нахождение простых чисел - C++

14.05.2012, 00:00. Просмотров 2198. Ответов 4
Метки (Все метки)

Дано число Х, определить количество простых чисел меньших Х. С использованием рекурсивных методов.
Задача пустяковая, учу С#, а задание надо написать на С++....

Написал на С# все работает хорошо. С++ ниразу в глаза не видел....начал переписывать и у меня возникли проблемы, всегда выводит 0. Буду благодарен если исправите мой неработающий говно код на работающий))

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include "stdafx.h"
 
int count = 0;
 
        void SearchSimpleNumber(bool pr[], int i, int j)
        {
            if (i < sizeof(pr))
            {
                if (pr[i] == true)
                {
                    if (i + i * j < sizeof(pr))
                    {
                        pr[i + i * j] = false;
                        SearchSimpleNumber(pr, i, j + 1);
                    }
                }
                SearchSimpleNumber(pr, i + 1, 1);
            }
        }
 
 
        void CountResult(bool pr[], int i, int C)
        {
            if (i < sizeof(pr))
            {
                if (pr[i] == true)
                {
                    C++;
                    CountResult(pr, i + 1, C);
                }
                else
                {
                    CountResult(pr, i + 1, C);
                }
            }
        }
 
int _tmain(int argc, _TCHAR* argv[])
{
    bool *m = new bool[30];
    SearchSimpleNumber(m,2,1);
    CountResult(m,2,count);
    printf("%d", count);
    return 0;
}
Может быть информация нужная: пишу на Visual Studio 2010, алгоритм для нахождения простых чисел я выбрал "решето Эратосфена".
http://ru.wikipedia.org/wiki/Решето_Эратосфена

Вот собственно код на С#, может поможет(работает).
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
using System;
 
namespace qwerty
{
    class Program
    {
        static void SearchSimpleNumber(ref bool[] pr, int i, int j)
        {
            if (i < pr.Length)
            {
                if (pr[i] == false)
                {
                    if (i + i * j < pr.Length)
                    {
                        pr[i + i * j] = true;
                        SearchSimpleNumber(ref pr, i, j + 1);
                    }
                }
                SearchSimpleNumber(ref pr, i + 1, 1);
            }
        }
 
        static void CountResult(bool[] pr, int i, ref int C)
        {
            if (i < pr.Length)
            {
                if (pr[i] == false)
                {
                    C++;
                    CountResult(pr, i + 1, ref C);
                }
                else
                {
                    CountResult(pr, i + 1, ref C);
                }
            }
        }
 
        static void Main(string[] args)
        {
            bool[] m = new bool[30];
            int count = 0;
            SearchSimpleNumber(ref m, 2, 1);
            CountResult(m, 2, ref count);
            Console.WriteLine(count);
        }
    }
}
Срочно надо) заранее спасибо)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 23:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru