Перевод задачи с Pascal на c# (гипотеза Гольдбаха)

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

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

function proverka(chislo:integer):boolean;
var j:integer;
    flag:boolean;
begin
flag:=true;
for j:=2 to (chislo-1) do
if ((chislo mod j)=0) then flag:=false;
result:=flag;
end;

var N, i, N1, N2:integer;
    fl:boolean;
 
begin
writeln('vvedite chetnoe chislo');
readln(N);
 
fl:=false;
for i:=1 to (N div 2) do
if (proverka(i) and proverka(N-i)) then 
begin
fl:=true;
N1:=i;
N2:=N-i;
end;
 
if fl then writeln(N1, '+', N2, '=', N)
else writeln ('gipoteza ne podtverdilas!');
readln;
end.

Решение задачи: «Перевод задачи с Pascal на c# (гипотеза Гольдбаха)»

textual
Листинг программы
using System;
 
namespace ConsoleApplication
{
    public class Program
    {
        static bool proverka(int chislo)
        {
            bool flag = true;
            for (int j = 2; j < chislo - 1; j++)
                if (chislo % j == 0)
                    flag = false;
            return flag;
        }
        static void Main(string[] args)
        {
            int N = 0;
            int N1 = 0;
            int N2 = 0;
            bool f1 = false;
            Console.WriteLine("Введите четное число");
            N = Convert.ToInt32(Console.ReadLine());
            for (int i = 1; i < N / 2 + 1; i++)
                if(proverka(i)&&proverka(N-i))
                {
                    f1 = true;
                    N1 = i;
                    N2 = N - i;
                }
            if (f1)
                Console.WriteLine("{0}+{1}={2}", N1, N2, N);
            else
                Console.WriteLine("Гипотеза не подтвердилась!");
            Console.ReadLine();
        }
    }
}

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


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

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

11   голосов , оценка 3.545 из 5