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

Простые числа - C++

Восстановить пароль Регистрация
 
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
23.11.2012, 18:55     Простые числа #1
Проблема заключается в том что он у меня выводит непонятные символы в Txt Что мне с этим сделать ?
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 <iostream>
#include "math.h"
 
 
using namespace std;
 
int main()
{
    FILE *p;
    p=fopen("p.txt","wt");
    for (int i=1;i<10000;i=i+2)
    {
        if (i<9)
        {
          putc(i,p);
        }else { 
         for (int j=3;j<sqrt(i);j=j+2){
         if (i%j ==0 ) break; 
         putc(i,p);
         }
     }
    }
 
    fclose(p);
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,881
23.11.2012, 19:40     Простые числа #2
putc выводит именно символ (соответствующий числу i. Так, если i=101, выведется символ 'e'
Чтоб вывести число надо printf("%d\n", i);
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
23.11.2012, 19:44  [ТС]     Простые числа #3
Теперь другая проблема =( он числа почему то повторяет некоторые, не подскажите почему ?
91
95
97
97
97
97
101
101
101
101
103
103
103
103
107
107
107
107
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,881
23.11.2012, 19:51     Простые числа #4
Странно, что повторяет так мало чисел.
Попробуй ручками прокрутить внутренний цикл для i = 101
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
23.11.2012, 19:57  [ТС]     Простые числа #5
Цитата Сообщение от Байт Посмотреть сообщение
Странно, что повторяет так мало чисел.
Попробуй ручками прокрутить внутренний цикл для i = 101
проверяет он та все числа, но те которые оканчиваются на 3 7 9 повторяются под конец несколько раз =\
а прокрутить внешний цикл нельзя =\ мне надо уложится в задание
вывести все простые числа в фаил от 1-до миллиарда за 5 минут ррп
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,881
23.11.2012, 20:40     Простые числа #6
natalyma, да у тебя алгоритм неверный. Во внутреннем цикле - ошибка. Вот ее и ищи!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2012, 17:29     Простые числа
Еще ссылки по теме:

Найти все простые числа от 1000 до 1999, в каждом из которых сумма первой и второй цифр в записи этого числа равна сумме третьей и четвертой. C++
Числа Фибоначчи, простые числа и делители C++
C++ Вывести все простые числа до заданного числа

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

Или воспользуйтесь поиском по форуму:
natalyma
0 / 0 / 0
Регистрация: 23.11.2012
Сообщений: 7
25.11.2012, 17:29  [ТС]     Простые числа #7
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
#include <stdio.h>
#include <iostream>
#include <math.h>
 
 
using namespace std;
 
int main()
{
    FILE *p;
    bool yes;
    p=fopen("p.txt","wt");
    for (int i=1;i<10000000;i=i+2)
    {
        if (i<9)
        {
         fprintf(p,"%i\n",i);
         continue;
        }
         
        yes=true;
        for (int j=3;j<=sqrt(i);j=j+2)
        {
           if (i%j == 0 )
           {
            yes=false;
            break;
           }
        } 
         if (yes==true) fprintf(p,"%i ",i); 
    }
 
    fclose(p);
    return 0;
}
Этот код почемуто работает =\
Yandex
Объявления
25.11.2012, 17:29     Простые числа
Ответ Создать тему
Опции темы

Текущее время: 15:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru