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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 23.11.2013, 23:12   #1
timzyed
 
Регистрация: 14.11.2013
Сообщений: 8
По умолчанию Простое число или нет. С#

Здравствуйте. Суть такова.
Задание: "Написать программу проверки является ли число простым, установить ширину поля 10 символов."
Есть такие наработки, что-то не догоняю как оптимизировать код, что бы программа не выводила сообщение "Число не является простым" или "Число является простым" в цикле. Например, при проверке числа 7, консоль 5 раз выводит сообщение "Число является простым", а при проверке, например, числа 121, которые не является простым у программы просто едет крыша (выводится примерно 40 сообщение "простое" и в один раз "не простое")
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Ввод числа:");
            {
                int x = int.Parse(Console.ReadLine());
                Prost(x);
                Console.ReadKey();
            }
        }
        private static void Prost(int x)
        {
            for (int i = 2; i <x; i++)
            {
                if (x % i == 0 )
                    Console.WriteLine("Число не является простым");
                else
                    Console.WriteLine("Число является простым");
            }
        }
    }
}
timzyed вне форума
Старый 23.11.2013, 23:16   #2
Luuzuk
Форумчанин
 
Аватар для Luuzuk
 
Регистрация: 18.01.2012
Сообщений: 975
По умолчанию

Можно поправить вот таким способом:
Код:
private static void Prost(int x)
        {
            bool isSimple = true;
            for (int i = 2; i < x; i++)
            {
                if (x % i == 0)
                {
                    isSimple = false;
                    break;
                }
            }
            if (isSimple)
                Console.WriteLine("Число не является простым");
            else Console.WriteLine("Число является простым");
        }
p.s. необязательно до самого x цикл прогонять, достаточно половины от x
Благодарить в репутацию. Проклинать — туда же
Luuzuk вне форума
Старый 23.11.2013, 23:27   #3
timzyed
 
Регистрация: 14.11.2013
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Luuzuk Посмотреть сообщение
Можно поправить вот таким способом:
Код:
private static void Prost(int x)
        {
            bool isSimple = true;
            for (int i = 2; i < x; i++)
            {
                if (x % i == 0)
                {
                    isSimple = false;
                    break;
                }
            }
            if (isSimple)
                Console.WriteLine("Число не является простым");
            else Console.WriteLine("Число является простым");
        }
p.s. необязательно до самого x цикл прогонять, достаточно половины от x
Огромное спасибо за помощь! Оказывается так просто и гениально!
timzyed вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа определяющая простое число или нет, С++ MicroSG Фриланс 7 18.11.2013 18:35
вводится число и программа должна сказать ПРОСТОЕ оно или нет (Pascal) diana1995 Помощь студентам 8 13.05.2013 10:45
определить совершенное число или нет Регина56 Помощь студентам 3 25.05.2011 09:09
Простое или нет Superlotles Общие вопросы C/C++ 7 13.03.2010 20:30
число простое или составное isus Помощь студентам 9 18.12.2009 00:35