Професионална програма
Loading...
DimitrovDelyan avatar DimitrovDelyan 0 Точки

Multiplication sign от methods more- exercise, C#

Здравейте колеги, може ли да споделите вашите идей как решихте задачата без да умножавате трите числа? Търся най- оптималния начин за решението на задачата. Моят вариант е да броя положителните знаци, като според това определям изхода.

 

using System;

namespace Multiplication_sign
{
    class Program
    {
        static int PositiveNegative(int num1, int num2, int num3)
        {
            int br = 0;
            //if nums are negative
            if (num1 == 0 || num2 == 0 || num3 == 0)
            {
                br = -1;
                return br;

            }

            //count of positive
            if (num1 > 0)
                br++;
            if (num2 > 0)
                br++;
            if (num3 > 0)
                br++;

            return br;

        }
        static void Main(string[] args)
        {
            int firstNum = int.Parse(Console.ReadLine());
            int secondNum = int.Parse(Console.ReadLine());
            int thirdNum = int.Parse(Console.ReadLine());

            int br = PositiveNegative(firstNum, secondNum, thirdNum);
            if (br == -1)
                Console.WriteLine("zero");
            else if (br % 2 == 0)
                Console.WriteLine("negative");
            else if (br % 2 != 0)
                Console.WriteLine("positive");

        }
    }
}

0
Module: C# Advanced
DeeDee.ag avatar DeeDee.ag 5 Точки

Ето и моя код ТУК.

 
0
aboqnskiq1 avatar aboqnskiq1 1 Точки

https://pastebin.com/7Ci3Tr1B

0
Julianh12 avatar Julianh12 2 Точки
num_1=int(input())
num_2=int(input())
num_3=int(input())
count=0
zero=False
new_list=[num_1,num_2,num_3]
for i in range(len(new_list)):
    if num_3==0 or num_2==0 or num_1==0:
        zero=True
        break
    elif new_list[i]<0:
        count+=1

if count==1 or count==3:
    print("negative")
elif zero:
    print("zero")
else:
    print("positive")
0