#include #include using namespace std; //Да се напише функция 'is_prime', която определя дали дадено число е просто. bool is_prime(int number) { if(number == 1) return false; for(int i = 2 ; i <= number-1 ; i++) { if(number%i == 0) return false; } return true; } //Да се напише функция 'are_all_simple', която приема 4-цифрено число и връща като резултат дали всички цифри в него са прости числа void are_all_primes(int number) { for(int i = 0 ; i < number ; i++) { int temporary = number%10; if(is_prime(temporary)) cout< second) first-=second; if(second > first) second-=first; } return first; } //Да се напише функция 'is_perfect', която за подадено цяло положително числа връща в резултат дали това е перфектно число. bool is_perfect(int number) { int sum = 0; for(int i = 1 ; i <= number-1 ; i++) { if(number%i == 0) sum+=i; } return sum == number; } //Да се напише функция 'check_moves', която приема символ, който ще символизира шахматна фигура, позиция от 1 до 8, //позиция от А до H , още една позиция 1-8 и А-H и на базата на първата двойка трябва да се определи дали фигурата //може да отиде до втората двойка('H'- КОН, 'P'- ПЕШКА, 'B'- ОФИЦЕР, 'Т'-ТОП ) //Помощни функции bool moves_on_board(int first_num, char first_lett, int second_num, char second_lett) { return (first_num<=8 && first_num>=1) && (second_num<=8 && second_num>=1) && ((first_lett<='H' && first_lett>='A') || (first_lett<='h' && first_lett>='a')) && ((second_lett<='H' && second_lett>='A') || (second_lett<='h' && second_lett>='a')); } bool horse_move(int first_number, char first_character, int second_number, char second_character) { bool dimensions_difference = (fabs(second_number - first_number) == 2 && fabs(second_character - first_character) == 1 ) || (fabs(second_number - first_number) == 1 && fabs(second_character - first_character) == 2); return dimensions_difference && moves_on_board(first_number, first_character, second_number, second_character); } bool pawn_move(int first_number, char first_character, int second_number, char second_character) { bool dimensions_difference = ((second_number - first_number) == 1) && (fabs(second_character - first_character) == 1); return dimensions_difference && moves_on_board(first_number, first_character, second_number, second_character); } bool bishop_move(int first_number, char first_character, int second_number, char second_character) { bool dimensions_difference = (second_number - first_number) == (second_character - first_character); return dimensions_difference && moves_on_board(first_number, first_character, second_number, second_character); } bool top_move(int first_number, char first_character, int second_number, char second_character) { bool dimensions_difference = (second_number == first_number) && (second_character == first_character) return dimensions_difference && moves_on_board(first_number, first_character, second_number, second_character); } //Същинската функция bool check_moves(char figure, int first_number, char first_character, int second_number, char second_character) { switch(figure) { case 'H' : return horse_move(first_number, first_character, second_number, second_character); break; case 'P' : return pawn_move(first_number, first_character, second_number, second_character); break; case 'B' : return bishop_move(first_number, first_character, second_number, second_character); break; case 'T' : return top_move(first_number, first_character, second_number, second_character); break; } } int main() { return 0; }