Vladmouse32506
?>

Паскаль. есть программа.нужно ее переделать с цикла "для" в цикл "до"(repeat)​

Информатика

Ответы

elenalukanova

вместо строчки с for:

i : = 1;

repeat

вместо строчки с end:

until i > n;

Качкова1820
Начнем с того, что мах десятичное 4-хзначное число это 9999. мах сумма будет 9*4=36 мах произ-ие 9*9*9*9=6561 невозрастание это убывание или равенство число 63 разделим его на 2 числа, т.к. вычисляются 2 числа. получаем 6 и  3. 6 и 3 - убывание 1) предположим, что 6-произведение, а 3-сумма, тогда 6=2*3*1*1 (4 числа, т.к. по условию у нас 4-хзначное число), но тогда 3=2+3+1+1. значит неправильное предположение. 2) 3-произведение, а 6-сумма, тогда 3=3*1*1*1, а 6=3+1+1+1. все сходится. вывод: число 63 нам подходит. число 89. числа 8 и 9. возрастание. вывод: не подходит число 98 9 и 8. убывание 1) начнем с того, что 9-произведение, а 8- сумма 9=3*3*1*1, 8=3+3+1+1 вывод: подходит число 200. 20 и 0. и никак иначе. т.к. чисел 2 и 00 быть не может. убывание 1) 0-логично, что это пр-ие, т.к. суммой быть не может, значит 20-сумма 20=9+9+2+0 вывод: подходит число 291. числа 29 и 1, т.к. только так у нас будет убывание. 1) 1 суммой быть не может.  29-сумма, однако если 1-пр-ие, то только 1=1*1*1*1, но 29≠1+1+1+1 вывод: не подходит число 1311 только 13 и 11 ни 13 ни 11 не могут быть пр-ием, т.к. умножаться и складываться могут только числа от 0 до 9 вывод: не подходит число  656136. видно, что мы можем поделить его на 6561 и 36. убывание. оба числа-максимумы, значит вывод: подходят число 756423. одно из чисел не может быть больше 36, а также порядок невозрастания должен соблюдаться. значит 7564 и 23. одно из чисел все равно не входит в мах, значит вывод: не подходит ответ: 4 p.s. фух, это было трудно, но надеюсь, что )
Gpack54
#include < iostream> using namespace std; int main(){     int max,k,n,nod,p;     int ar[1000];     cin> > n;     for(int i=0; i< n; i++){             cin> > ar[i];             }     max=ar[0];     for(int i=1; i< n; i++){               if(ar[i]> max){                   max=ar[i];                     k=1;                       nod=1; }                     }     while(k! =max){                   k++;                   p=0;                     for(int i=0; i< n; i++){                             if(ar[i]%k==0){                                           p++; }}                             if(p==n){                                     nod=k; }                                     }                     cout< < "nod="< < nod;                     cin.get();                     cin.get();                   return 0;                   }

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Паскаль. есть программа.нужно ее переделать с цикла "для" в цикл "до"(repeat)​
Ваше имя (никнейм)*
Email*
Комментарий*