Перевод задачи с 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();
}
}
}