Skip to content

Instantly share code, notes, and snippets.

View rodion-m's full-sized avatar

Rodion Mostovoi rodion-m

  • Almaty
  • 21:33 (UTC +05:00)
View GitHub Profile
using System;
using System.Globalization;
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
namespace Main
{
public class DateTimeOffsetBsonSerializer : StructSerializerBase<DateTimeOffset>,
IRepresentationConfigurable<DateTimeOffsetBsonSerializer>
@rodion-m
rodion-m / CheckDigit.java
Created January 6, 2020 06:37
EAN13 Check Digit Validator (Java)
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
/*
Задание "Отсортировать карту в обратном порядке по ключам и вывести на экран результат." я понял как "отсортировать карту по ключу по убыванию".
Просьба проверять по всей строгости. Если нужно, готов дать объяснение к коду.
*/
void main() {
var numberBook = <String, int>{
"Иван": 2264865,
"Татьяна": 89523366684,
"Олег": 84952256575,
void main() {
const text = """She sells sea shells on the sea shore;
The shells that she sells are sea shells I'm sure.
So if she sells sea shells on the sea shore,
I'm sure that the shells are sea shore shells""";
var list = text.split(" ");
var wordsCount = list.length;
for(var i = 0; i < 101; i += 2) {
print(i);
}
import 'dart:convert';
import 'dart:io';
void main(List<String> arguments) {
String? input;
var acc = 0.0;
do {
input = stdin.readLineSync(encoding: utf8);
try {
acc += double.parse(input ?? "");
@rodion-m
rodion-m / CategoryTreeGenerator.cs
Last active April 14, 2021 20:13
Category Tree Generator + Test (xUnit) in C#9. See method `CreateTree`.
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Xunit;
public class CategoryTreeGeneratorTest
{
record Category(int Id, string Name)
{
//fake root-category
@rodion-m
rodion-m / dz_reverse_text.md
Last active April 30, 2021 18:33
ДЗ. Урок 1: Шифрование сообщений

Случилась неприятная историяю. Ваш друг обнаружил, что ваша с ним переписка перехватывается неизвестными людьми. К сожалению, вы не можете сменить канал связи, поэтому вы вместе подумали и решили шифровать свои сообщения путем перестановки букв задом наперед.

Пример:

Исходное сообщение: `abc`
Результат: `cba`

Исходное сообщение:: `Привет, друг!`
Результат: `!гурд ,тевирП`
@rodion-m
rodion-m / dz_imt1.md
Last active May 1, 2021 17:12
ДЗ. Урок 1: Помогите тренеру рассчитать ИМТ

Представьте, что к вам пришел фитнес тренер и рассказал о своей проблеме: каждый раз, когда к нему приходит новый клиент, тренеру нужно определить здоровый у клиента вес или есть отклонения от нормы. Для этого ему приходится тратить время на поиск в специальной таблице индекса массы тела клиента (ИМТ). Кроме того, недостаток таблицы еще и в том, что она дает приблизительный ответ: ИМТ

Вы вместе подумали и выяснили, что есть специальная формула для расчета ИМТ: ИМТ = вес / (рост * рост). Но каждый раз пользоваться калькулятором тренеру тоже неудобно. Помогите тренеру: напишите программу, которая будет вычислять для него ИМТ.

1.1 Напишите консольную программу, которая будет рассчитывать индекс массы тела (ИМТ). Для этого вам нужно предоставить тренеру возможность ввести имя, рост (в метрах) и вес (в кг), затем вычислить индекс массы тела по формуле ИМТ. Покажите ИМТ тренеру.

*Обратите внимание, что поскольку рост тре

@rodion-m
rodion-m / dz_imt_list_round.txt
Last active May 13, 2021 19:18
dz_imt_list_round
1. Необходимое округление. Некоторые клиенты сообщают вам, что им неудобно постоянно видеть множество цифр после запятой в ИМТ, добавьте возможность вручную указать кол-во знаков после запятой и округлите итоговый ИМТ в соответствии с введенными данными.
2. Статистика для тренера. Теперь, когда ваше приложение набирает популярность, у тренера появилась необходимость узнавать среднее арифметическое ИМТ всех своих клиентов в базе. Для этого следует сохранять результаты всех ИМТ в список (List) и выводить количество записей и средний ИМТ в отдельное значение.