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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.12.2014, 16:35   #1
Devdev12
Пользователь
 
Регистрация: 03.11.2012
Сообщений: 19
По умолчанию Проверить код

Здравствуйте. Необходимо, чтобы вы проверили код на наличие "неисправностей" - чего-нибудь неправильного, неэффективного или лишнего. В архиве два текстовых файла - один с заданиями(после заголовка "Задачи"), другой - с моим решением этих заданий(кое-где имеется два решения).
http://rghost.ru/59574515

Последний раз редактировалось Devdev12; 11.12.2014 в 16:39.
Devdev12 вне форума Ответить с цитированием
Старый 11.12.2014, 17:38   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

компилируется?
работает без исключений?
выполняет задачу?
время и память не превышает допустимого по задаче?
значит profit
p51x на форуме Ответить с цитированием
Старый 11.12.2014, 19:37   #3
Devdev12
Пользователь
 
Регистрация: 03.11.2012
Сообщений: 19
По умолчанию

Ну вот, например, в задании, где требовалось найти все такие натуральные q, что заданное число делится на q*q и не делится на q*q*q, я сделал вот так:
Код:
int n=0;
	scanf("%d", &n);
	for (int i = 2; i < n/2; i++)
	{
		if (n%(i*i) == 0 && n%(i*i*i) != 0) printf("%d\n", i);
	}
При вводе n=32768 программа выводит 64 и 128. Верно ли это?

В 20-м задании, где нужно было вывести простые числа-близнецы, я сделал так
Код:
int n=0, p=3, q=5, f = 0;
	scanf("%d", &n);
	while (q < n)
	{
		f = 1;
		for (int i = 2; i <= p / 2; i++)
			if (p%i==0) { f = 0; break; }

		for (int i = 2; i <= q / 2; i++)
			if (q%i == 0) { f = 0; break; }

		if (f) printf("p = %d, q = %d\n", p, q);
		p++;
		q++;
	}
Здесь, во-первых,до этого содержалось лишнее условие,
if ((f)&& (q-p==2)) printf("p = %d, q = %d\n", p, q);
т.к ввиду того, что p=3, а q=5, проверяемые числа всегда будут отличаться на 2. Затем, мне не очень нравится, что здесь используются два цикла для проверки чисел p и q. Нельзя ли как-нибудь сделать один?

Последний раз редактировалось Stilet; 12.12.2014 в 08:10.
Devdev12 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверить код на С Надинка Помощь студентам 6 24.05.2013 16:38
Проверить код Artem131 Общие вопросы C/C++ 0 29.04.2013 22:47
Надо проверить код. С++ . Kirill_Y Помощь студентам 4 28.10.2012 10:59
проверить код и защита cargo29 PHP 5 24.10.2012 11:55
проверить код delfin07 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 21.02.2012 13:58