Практика программирования (Бейсик, Си, Паскаль)


Задачи,советы и ответы - часть 50


//Программа игры на вычитание до нуля

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

void main() { int N,k,j; ml:

clrscr();

randomize();

N=random(25)+26;

printf("Ha кону - %d. Брать можно от 1 до 5.\n",N);

m2:

printf("\n Ваш ход. Сколько берем? - ");

k=getche()-48;

if(l>k || k>5) {printf("\n Так ходить нельзя!"); goto m2;}

N=N-k;

printf("\n После Вашего хода осталось %d",N);

if(N==0){printf("\n Поздравляю! Вы выиграли!");

goto ex;}

k=(N%6=0)?l:N%6;

printf ("\n Я беру %d остается %d",k,N);

if(N==0){printf("\n K сожалению, Вы проиграли!");

goto ex;

}

goto m2;

ex:

printf("ХпХотите еще? - (y/n) : ");

if(getch()=='y') goto ml; )

Программа 2_28.pas

{Программа игры на вычитание до нуля}

program game_mun;

uses Crt;

var

N,k,j:integer; label

ml,m2,ex;

begin ml:

clrscr;

randomize;

N:=random(25)+26;

writeln('Ha кону - ',N,'. Брать можно от 1 до 5.');

m2:

writeln('Bain ход. Сколько берем? - ');

k:=Ord(ReadKey)-48;

if(l>k) or (k>5) then

begin

writeln('TaK ходить нельзя!1); goto m2; end;

N:=N-k;

writeln('После Вашего хода осталось ',N);

if N=0 then

begin writeln('Поздравляю! Вы выиграли!'}; goto ex; end;

if (N mod 6)=0 then k:=l else k:=N mod 6;

N:=N-k;

writeln('Я беру ',k,' остается ',N);

if N=0 then

begin writeln('К сожалению, Вы проиграли!'); goto ex; end;

goto m2; ex:

writeln('Хотите еще? - (y/n) : ');

if ReadKey ='y' then goto ml; end.

Задания 2.29—2.31. Путешествия по узлам целочисленной решетки

Существует довольно много задач, связанных с нумерацией узлов целочисленной решетки. Одна из них известна под названием "скатерти Улама" (Ulam S. М.). Развлекаясь на одном из скучных собраний, Улам пронумеровал по спирали клетки тетрадного листа. Когда он обвел номера клеток, соответствующие простым числам, на листе возник довольно занятный узор, который мог оказаться полезным для изучения закономерностей в числовых последовательностях.




- Начало -  - Назад -  - Вперед -