Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

samurai1 avatar samurai1 2 Точки

7. Суми прости и непрости числа

Колеги, може ли някой да помогне, че в Джъдж ми дава 70/100, а не си откривам грешката? Благодаря предварително.

това ми е кода:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp46
{
    class Program
    {
        static void Main(string[] args)
        {
            int primeN = 0;
            int nonPrimeN = 0;

            for (int i = 0; ; i++)
            {
                string n = Console.ReadLine();
                bool isPrime = true;

                if (n == "stop")
                {
                    break;
                }
                int num = int.Parse(n);

                if(num < 0)
                {
                    Console.WriteLine("Number is negative.");
                }
                else
                {
                    if (num < 2)
                    {
                        nonPrimeN += num;
                    }
                    for (int j = 2; j < num; j++)
                    {
                        if (num % j == 0)
                        {
                            isPrime = false;
                        }
                    }
                    if (isPrime == true)
                    {
                        primeN += num;
                    }
                    else
                    {
                        nonPrimeN += num;
                    }
                }
            }
            Console.WriteLine($"Sum of all prime numbers is: {primeN}");
            Console.WriteLine($"Sum of all non prime numbers is: {nonPrimeN}");
        }
    }
}

 

Тагове:
0
Programming Basics with C#
am_stanchev avatar am_stanchev 43 Точки

Ето едно решение с while цикъл. Не е нужно да въртиш цикъл до num.Достатъчно е до (int)Math.Sqrt(num).

https://pastebin.com/322Hj54B

0
samurai1 avatar samurai1 2 Точки

Най накрая 100/ 100. Благодаря ти за помощта колега.

0
am_stanchev avatar am_stanchev 43 Точки

За нищо, радвам се че съм помогнал.

0
grafcheto avatar grafcheto 2 Точки

Не мога да си обясня, защо върти повече от необходимото и изкарва големи числа. И "i" се връща на 2 редовно.

string input = Console.ReadLine();
            int sumOfPrime = 0;
            int sumOfComposite = 0;

            while (input != "stop")
            {
                int num = int.Parse(input);

                if(num < 0)
                {
                    Console.WriteLine("Number is negative.");
                    
                }
                for (int i = 2; i < num; i++)
                {
                  
                    if (num % i == 0)
                    {
                        sumOfComposite += num;
                        
                    }
                    else
                    {
                      sumOfPrime += num;
                        
                    }
                }
                input = Console.ReadLine();
                
            }
            Console.WriteLine($"Sum of all prime numbers is: {sumOfPrime}");
            Console.WriteLine($"Sum of all non prime numbers is: {sumOfComposite}");

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.