Jump to content

От C++ на Pascal


Препоръчан пост

някой може ли да трансформира тази програма от C++ на Pascal ?

 

#include<cstdio>

int n;

int s;

int main()

{

scanf("%d%d", &n, &s);

int p = 0;

int mp = 0;

for (int m = 1;m <= n - 1;m++)

{

int i = 1;

int c = 0;

int pp=p;

int pmp=mp;

do

{

if (i == s)if (p < c)

{

p = c;

mp = m;

}

i = i + m;

if (i > n) i = i - n;

c++;

}

while (i != 1);

if(c<n) {p=pp; mp=pmp;}

}

printf("%d\n", mp);

}

Link to comment
Сподели другаде

Тъй като C++ не знам и синтаксиса му малко ми се губи. Ще те помоля, да разясниш какво прави програмата, какво смята, в смисъл условието да ми кажеш.

И след това ще я драсна на Паскал :)

Link to comment
Сподели другаде

Тъй като C++ не знам и синтаксиса му малко ми се губи. Ще те помоля, да разясниш какво прави програмата, какво смята, в смисъл условието да ми кажеш.

И след това ще я драсна на Паскал :)

 

Задание: Последно изключен

 

По време на газова криза, се очаква да се повиши потреблението на електроенергия. Затова Правителството разделило България на N района (номерирани с 1, 2, 3,..., N), така че при претоварване на мрежата, районите да бъдат изключвани един по едни в определен ред: Започва се от първия и след това се изключват през m номера. Например, ако N = 5 и m = 2, ще се получи следната последователност във времето от изключени райони: 1, 3, 5, 2, 4, 1, 3, 5, 2, 4, 1 и т.н. Единият от районите бил специален и Правителството искало той да бъде изключен колкото е възможно най-късно. В посочения пример, това е район 4.

Условие:

Напишете програма last, която въвежда броя N на районите (1 < N < 1000) и номер на специалния район. Програмата трябва да намери през колко най-малко номера m да се планира извършването на изключванията, така че специалният район да бъде изключен възможно най-късно и все пак да е осигурено, че всеки район ще бъде изключен поне веднъж.

 

Пример 1. Вход:

 

5 4

 

Изход:

 

2

 

Пример 2. Вход:

 

20 13

 

Изход:

 

7

 

Решение:

Програмата извършва непосредствено търсене за определяне на необходимата стойност за m, като в процеса на изпробване на възможностите се запазва достигнатия рекорд за последния момент на изключване за специалния район.

Link to comment
Сподели другаде

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гост
Отговори на тази тема

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   Не можете да качите директно снимка. Качете или добавете изображението от линк (URL)

Loading...
×
×
  • Създай ново...