C/C++

Программирование на С#

Есть задача:Мой код работает, но только при вводе положительных значений, что нужно изменить в программе, чтобы он выдавал и отрицательные значения ?
Мой код:
using System;
class HelloWorld {
static void Main() {
Console.Write("Введите n: "); //объявляем и вводим число
int n = Convert.ToInt32(Console.ReadLine());

for (int i = 1; i < n+1; i++) {
for (int j=0; j< i; j++) { //находим возвожные варианты
if (i+j == n) {
Console.WriteLine($"Число {n} = {i} + {j}"); //выводим варианты
}
}
}
}
}
Для относительно небольших (натуральных) чисел можно так:
 using System;  
namespace New_Project
{ class Program
{ public static bool prime(int n)
{ if (n < 2) return false;
if (n == 2 || n == 3) return true;
if (n % 2 == 0) return false;
for (int i = 3; i
БК
Борис Коляда
66 572
Лучший ответ
>Мой код работает
Ни фига он не работает. По крайней мере, на простые числа он забивает с прибором. Отсюда и твое маниакальное желание поработать с отрицательными числами. Чувак, простые числа - это подмножество натуральных чисел, с какого ж перепуга ты решил, что они могут быть отрицательными?
Белый Андрей Т.е. отрицательные числа не нужно вводить ? И если не трудно, укажите в чем я был не прав при написании кода)
Проблема заключается в том, что ваш код проверяет только те значения, которые больше нуля. Чтобы он работал и с отрицательными значениями, вам нужно изменить условие внутри цикла for на следующее:

for (int i = 1; i < Math.Abs(n) + 1; i++) {
for (int j = 0; j < i; j++) {
if (i + j == n || i - j == n) { // добавляем проверку на разность
Console.WriteLine($"Число {n} = {i} + {j}");
}
}
}

Здесь мы используем функцию Math.Abs(), чтобы получить абсолютное значение отрицательного числа. Также мы добавляем проверку на разность i - j == n, чтобы учесть отрицательные значения.
S*
Said *a-Trinity* Takhirov
14 368