Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2009, 16:35   #1
MAKEDON
The First Person!
Форумчанин
 
Аватар для MAKEDON
 
Регистрация: 07.08.2007
Сообщений: 228
Вопрос Вывод простых чисел.

Программа должна выводить i-е по счету простое число. Вот код. В чем ошибка? Написано на С.

Код:
#include <stdio.h>

int get_prime(int i);

int main(){
	int a;
	scanf("%d",&a);
	printf("%d",get_prime(a));
	return 0;
}

int get_prime(int i){
	int n,j,a,b=1;
	for(n=2;n<=2*i;n++){
		a=0;
		for(j=1;j<=n;j++){
			if(n%j==0){
				a+=j;
			}		
		}		
		if(a-1==n){
			b++;
			if(b==i){
				return n;
			}
		}
	}
}
Программа обычно делает то что вы ей сказали сделать, а не то что бы вы хотели, чтобы она сделала.
MAKEDON вне форума Ответить с цитированием
Старый 10.03.2009, 16:55   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Честно говоря, смысл вот этого:
Код:
for(n=2;n<=2*i;n++){
не понял.

Поэтому просто переписал:
Код:
#include <stdio.h>
#include <conio.h>
#include <math.h>

int get_prime(int i);
bool is_prime(int i);

int main(){
	int a;
	scanf("%d",&a);
	printf("%d",get_prime(a));
	getch();
	return 0;
}

bool is_prime(int i)
{
 int j;
 if(i==1) return true;
 for(j=2;j<=sqrt(i);j++)
   if(i%j==0) return false;
 return true;
}

int get_prime(int i)
{
 int n=1,j,a;
 bool b;
 for(j=0;j<i;j++)
  {
   a = n;
   do
    {
     a++;
    } while(!is_prime(a));
   n=a;
  }
return n;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 10.03.2009 в 16:57.
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форматированный вывод чисел frankfish Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 04.03.2009 17:59
поиск простых чисел методом решета.программа на С или С++ из_семи Помощь студентам 2 25.02.2009 20:56
Вывод чисел, делящихся на каждую из своих цифр. Паскаль ЯншинаВера Помощь студентам 3 08.04.2008 11:50
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53
Вывод целых и десятичных чисел Maycal Общие вопросы C/C++ 2 24.10.2007 12:34