• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

простое число

  • Автор темы kurzon
  • Дата начала
K

kurzon

Задача: Определить простое число или ... ?
Простое число:
Памаги мене?

Пачиму кагда когда я вожу 1 либо 58, мене виводит true.
1 и 58 есть не простые числа, а оно пишет что простые.

Код:
static bool is_simple(int value,out bool bom)
{

int divider = 1;
if (value == 1) return bom = false;
else
{
if (value % 2 == 0) divider = 0;
while ((divider += 2) <= Math.Floor(Math.Sqrt(value)))
if ((value % divider == 0)) return bom = false;
return bom = true;
}
}
private void b_Check_Click(object sender, EventArgs e)
{
string str = this.t_Check.Text;
int value = Convert.ToInt32(str);
is_simple(value,out bom);

}
 
P

Pasha

Для: kurzon
Конкретно этот кусок ничего никуда не пишет. Интресно, зачем функцию объявлять как bool и вводить при этом out-параметр.
 
K

kurzon

Программа выводит.
Можеш сам скомпилировать и попробывать.
Код:
static bool is_simple(int value, out bool bom)
{
bom = false;
if (value == 1) return bom = false;
double divider = 1.0;

if (value % 2 == 0) divider = 0;
while ((divider += 2) <= Math.Sqrt(value))
if ((Convert.ToDouble(value)% divider == 0)) return bom = false;
return bom = true;
}
private void b_Check_Click(object sender, EventArgs e)
{
string str = this.t_Check.Text;
int value = Convert.ToInt32(str);
is_simple(value,out bom);
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!