Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 1
Регистрация: 07.04.2012
Сообщений: 24
1

Четверки простых чисел из первых 100 натуральных

16.05.2013, 03:08. Просмотров 1506. Ответов 2
Метки нет (Все метки)

Привет всем

Найти все четверки простых чисел из первых 100 натуральных, принадлежащих одному десятку

Собственно есть код:
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
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
 
int main()
{
 
    int data[99];    /* массив для хранения натуральных чисел от 2 до 100 */
    int simple_numbs[30];
    int test[4];
    int i,j,n,k,f;
    int b = 0; // Десяток
    for(i=0; i < 99; i++)/* заполним массив цифрами от 2 до 100 */
      data[i] = i+2;
 
        for(i=0;i < 50; i++)   /* будем перебирать числа до 50 включительно */
        {
            if(data[i] != -1)   /* если число не помечено */
            {
                n = data[i];  /* запомним шаг */
                    for(j=i + n; j < 99; j=j+n)
                        data[j] = -1;  /* пометим все числа, кратные data[i] */
            }
        }
 
 
    for(i = 0, k = 0, f = 0; i < 99; i++)
    {
        if(data[i] != -1) // Ищем Простые числа
        {
            printf("data %d\n",data[i]);
            if(data[i] / 10 == b) // Сравниваем десяток с существующим
            {
                test[f] = data[i]; // Записываем в вспомогательный массив
                f++;
                printf("test %d\n",test[f]);
            }
         }
        else if(data[i] / 10 != b) // Если десятки не совпадают
            {
 
                if(f < 4) // И количество простых чисел в этом десятке меньше 4
                {
                    f = 0; // Обнуляем счетчик
                    b++; // Увеличиваем десяток
                }
                else
                {
                    for(j = 0; j <= 4; j++) // Иначе простых чисел в десятке 4
                    {
                        simple_numbs[k] = test[j]; // записываем их в массив
                        k++;
                    }
                }
            }
    }
 
    for(i = 0; i < k;i++) // Вывод массива
        printf("%d\n",simple_numbs[i]);
    return 0;
}
Но почему то в массив test пишется мусор
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.05.2013, 03:08
Ответы с готовыми решениями:

Найти 100 первых простых чисел
найти 100 первых простых чисел

Найти первых 100 простых чисел
Найти первых 100 простых чисел. Помогите пожалуйста, никак не получается.

Найти 100 первых простых чисел
Привет всем помогите пожалуйста кто может у меня такая проблема не могу решить задачи по C++ потому...

Найти 100 первых простых чисел.
Простые, это те, которые делятся только на себя и на 1 :)

2
346 / 291 / 37
Регистрация: 23.03.2012
Сообщений: 838
16.05.2013, 03:50 2
Лучший ответ Сообщение было отмечено GoodDay как решение

Решение

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
#include <iostream>
using namespace std;
bool isPrime(int number)
{
    int i;
    for (i=2;i<number;i++)
    {
        if (number%i==0)
            return false;
    }
    return true;
}
 
int main()
{
    int simple[4];
    int count=0;
    for (int i=2;i<100;i++)
    {
        if (isPrime(i))
        {
            if (count!=0)
            {
                if (i-i%10!=simple[count-1]-simple[count-1]%10)
                {
                    count=0;
                }
            }
            simple[count++]=i;
            if (count==4)
            {
                cout<<simple[0]<<" "<<simple[1]<<" "<<simple[2]<<" "<<simple[3]<<endl;
                count=0;
            }
        }
    }
    system("pause");
    return 0;
}
0
0 / 0 / 1
Регистрация: 07.04.2012
Сообщений: 24
16.05.2013, 04:05  [ТС] 3
Спасибо
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.05.2013, 04:05

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найдите 10 первых натуральных чисел, больше 100, кратные 9 и заканчиваются на цифру 7
Знайдіть 10 перших натуральних чисел, що більші за 100, кратні 9 та закінчуються на цифру 7.

Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9, не меньших 100 (Pascal -> C++)
Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 кратных числу 9 и находящихся в...

Составить программу вывода на экран простых чисел их первых N натуральных чисел..
Составить программу вывода на экран простых чисел их первых N натуральных чисел..

Найти 100 первых простых чисел
Найти 100 первых простых чисел. Исправьте пожалуйста def primes_upto(limit): prime = *...

Найти 100 первых простых чисел
1.Найти 100 первых простых чисел Нашел много примеров на С++ но вот разобраться в них,получается...

Найти 100 первых простых чисел
Найти 100 первых простых чисел


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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