Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Перевести с Паскаля на любой Язык (http://forum.oszone.net/showthread.php?t=303982)

Ксюня_Дикарева@vk 14-08-2015 17:53 2541678

Перевести с Паскаля на любой Язык
 
Помогите,пожалуйста, перевести эту программу на любой язык.



Код:

var
  s, f, t, Min: integer;

begin
  writeln('введите s и f');
  readln(s, f);
  Min := 32000;
  if (f mod 10 = 0) then
  begin
   
    if (s mod 10 = 7) then  begin
        for t := 1 to 32000 do
        if (t mod 10 = 3) and ((s * t - 1) mod f = 0) then begin if t < Min then Min := t; end
    end;
    if (s mod 10 = 3) then  begin
      for t := 1 to 32000 do
        if (t mod 10 = 7) and ((s * t - 1) mod f = 0) then begin if t < Min then Min := t; end
    end;
    if (s mod 10 = 9) then  begin
        for t := 1 to 32000 do
        if (t mod 10 = 9) and ((s * t - 1) mod f = 0) then begin if t < Min then Min := t; end
    end;
    if (s mod 10 = 1) then  begin
        for t := 1 to 32000 do
        if (t mod 10 = 1) and ((s * t - 1) mod f = 0) then begin if t < Min then Min := t; end
    end
    end
  else for t := 1 to 32000 do
        if ((s * t - 1) mod f = 0) then begin if t < Min then Min := t; end;
  writeln(Min);
end.


Drongo 14-08-2015 21:44 2541754

Разбираться в программе не стал, но она какая-то запутаная сильно, многоступенчатость if'ов сбивает с толку. Паскаль для меня "не родной" язык, могут быть ошибки, но что смог - перевёл на С++. Компилируется, выполняется.

Код:

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

int main()
{
  int s, f, t, Min = 32000;

  cout << "Введите значения для S и F: \n";
  cin >> s >> f;

  if(f % 10 == 0){
      if(s % 10 == 7){
        for(t = 1; t <= 32000; t++)
        if((t % 10 == 3) && (s * t - 1) % f == 0){
          if(t < Min)
                    Min = t;
              }
        }
      if(s % 10 == 3){
        for(t = 1; t <= 32000; t++)
            if((t % 10 == 7) && (s * t - 1) % f == 0){
              if(t < Min)
                  Min = t;
              }
        }
      if(s % 10 == 9){
        for(t = 1; t <= 32000; t++)
            if((t % 10 == 9) && (s * t - 1) % f == 0){
              if(t < Min)
                  Min = t;
                          }
                }
          if(s % 10 == 1){
            for(t = 1; t <= 32000; t++)
                if((t % 10 == 1) && (s * t - 1) % f == 0){
                if(t < Min)
                Min = t;
                    }
              }
        }
  else
      for(t = 1; t < 32000; t++)
        if((s * t - 1) % f == 0){
            if(t < Min)
              Min = t;
          }

  cout << "Значение Min: " << Min << endl;
  cin >> t;
  return 0;
}



Время: 01:08.

Время: 01:08.
© OSzone.net 2001-