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#
krum_43 avatar krum_43 756 Точки

Здравей колега,

Не си задал точното условие на задачата,но ти решаваш задачата за числа <num.Пробвай да включиш и num.

 

0
samurai1 avatar samurai1 2 Точки

Благодаря за отговора. Ще опитам

0
Ivaylo.apostolov avatar Ivaylo.apostolov 12 Точки

Колега, докара ли я до 100/100

0
samurai1 avatar samurai1 2 Точки

За съжаление още не съм стигнал 100/ 100

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