.NET 4.x Неверный результат работы программы - C#

Узнай цену своей работы

Формулировка задачи:

Дано первоначальное число. Изменяем его путем прибавления других чисел и умножения на другие числа. в Конце вычисляется остаток от деления на последнее число. http://www.codeabbey.com/index/task_view/modular-calculator Проблема в том, что по предоставленному ряду чисел и операций сайт ругается, что ответ должен быть 8141, а у меня получается 1193 Набрал строку в Excel: =((((((((((((3* 6 + 7) * 4810 + 562 + 17 + 67 + 32 + 95) * 4710 + 2738) * 4628 + 7) * 4776 * 4769 + 90) * 1988 * 456 * 8 + 6) * 41 + 3394) * 4 + 1650) * 1 * 37 * 2828 + 8 + 967) * 1 * 2738 + 2) * 1396 * 10 * 854 + 6 + 54 + 698 + 354 + 5) * 5 * 626 * 45 * 586 * 5119 + 8) * 584 * 7728 До деления, у меня и в Excel, результат одинаковый Вот код программы.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Modular_Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            double x = 3d;
            string s = "* 6 + 7 * 4810 + 562 + 17 + 67 + 32 + 95 * 4710 + 2738 * 4628 + 7 * 4776 * 4769 + 90 * 1988 * 456 * 8 + 6 * 41 + 3394 * 4 + 1650 * 1 * 37 * 2828 + 8 + 967 * 1 * 2738 + 2 * 1396 * 10 * 854 + 6 + 54 + 698 + 354 + 5 * 5 * 626 * 45 * 586 * 5119 + 8 * 584 * 7728 % 8225";
            string[] ss = s.Split(' ').ToArray();
             for (int i = 0; i < ss.Length; i=i+2)
                {
                    if (Convert.ToChar(ss[i]) == '+')
                        x = x + Int32.Parse(ss[i+1]);
                    
                    if (Convert.ToChar(ss[i]) == '*')
                        x = x * Int32.Parse(ss[i + 1]);
                    
                    if (Convert.ToChar(ss[i]) == '%')
                        x = x % Int32.Parse(ss[i + 1]);
                    
                }
                
                Console.WriteLine(x);
                Console.ReadLine();
        }
    }
}

Решение задачи: «.NET 4.x Неверный результат работы программы»

textual
Листинг программы
double a = 1234567890123456;
Console.WriteLine("{0:N0}", a);
a = a + 1;
Console.WriteLine("{0:N0}", a);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы