Ксюня_Дикарева@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.
|
Разбираться в программе не стал, но она какая-то запутаная сильно, многоступенчатость 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.
© OSzone.net 2001-