Софтуерно Инженерство
Loading...
mihail_petrov avatar mihail_petrov 0 Точки

06. Суми прости и непрости числа - Sum Prime Non Prime

Здравейте,

опитвам се да реша горепосочената задача, но нещо кодът ми стана пълна мешавица. Може ли малко помощ, къде ми е грешката ?

Ето линк към това, което се пробвах да напиша: https://pastebin.com/ZUJTy5H3

Условие: 

Напишете програма, която чете от конзолата цели числа в диапазона от -2,147,483,648 до 2,147,483,647, докато не се получи команда "stop". Да се намери сумата на всички въведени прости и сумата на всички въведени непрости числа. Тъй като по дефиниция от математиката отрицателните числа не могат да бъдат прости, ако на входа се подаде отрицателно число да се изведе следното съобщение "Number is negative.". В този случай въведено число се игнорира и не се прибавя към нито една от двете суми, а програмата продължава своето изпълнение, очаквайки въвеждане на следващо число.

На изхода да се отпечатат на два реда двете намерени суми в следния формат:

"Sum of all prime numbers is: {prime numbers sum}"

"Sum of all non prime numbers is: {nonprime numbers sum}"

 

Тагове:
chrisi2712 avatar chrisi2712 270 Точки

Здравейте, поправих кода и сега е 100/100. Когато влезете в скучея, че числото е по-малко от 0, трябва да подадете ново четене на число. Също така сумата на числата , трябва да се печата накрая след като свършат циклите. Промених и кода за проверка на четно число.

using System;

namespace SumSeconds
{
    class Program
    {
        static void Main(string[] args)
        {
            string command = Console.ReadLine();
            int sumPrime = 0;
            int sumNonPrime = 0;

            while (command != "stop")
            {
                int num = int.Parse(command);
                int counterPrimeNumber = 0;
                if (num < 0)
                {
                    Console.WriteLine("Number is negative.");
                    command = Console.ReadLine();
                    continue;
                }
                for (int i = 1; i <= num; i++)
                {
                    if (num % i == 0)
                    {
                        counterPrimeNumber++;
                    }
                }

                if (counterPrimeNumber==2)
                {
                    sumPrime += num;
                }
                else
                {
                    sumNonPrime += num;
                }
                command = Console.ReadLine();
                
            }
            Console.WriteLine($"Sum of all prime numbers is: {sumPrime}");
            Console.WriteLine($"Sum of all non prime numbers is: {sumNonPrime}");
        }
    }
}
 

0
23/02/2019 11:08:20
mihail_petrov avatar mihail_petrov 0 Точки

Благодаря много !

0