#include <iostream> // header input/output streams
#include <string>
using std::string;
#include <map>
using std::map;
using std::cin; // для работы cin
using std::cout; // для работы cout
using std::endl; // для работы перевода на новую строку endl
int main(){
unsigned int n;
cin >> n;
string st;
cin >> st;
map<char, int> a;
for (auto i = st.begin(); i<st.end(); ++i){
try{
a[*i]++;
}
catch(std::exception&e){
a.insert(std::make_pair(*i,1));
}
}
for (auto i = a.begin(); i!=a.end();++i){
cout << i->first << ' ' << i->second << endl;
}
}
189 и 475 взаимно простые числа
Числа 189 и 475 имеют только один общий делитель — число 1. Такие числа называют взаимно простыми числами.
Как найти наибольший общий делитель для 189 и 475
Разложим на простые множители 189
189 = 3 • 3 • 3 • 7
Разложим на простые множители 475
475 = 5 • 5 • 19
Выберем одинаковые простые множители в обоих числах.
Одинаковые простые множители отсутствуют
Находим произведение одинаковых простых множителей и записываем ответ
НОД (189; 475) = 1
НОК (Наименьшее общее кратное) 189 и 475
Наименьшим общим кратным (НОК) 189 и 475 называется наименьшее натуральное число, которое само делится нацело на каждое из этих чисел (189 и 475).
НОК (189, 475) = 89775
ЧАСТНЫЙ СЛУЧАЙ!
189 и 475 взаимно простые числа
Так как взаимно простые числа не имеют общих простых делителей, то их наименьшее общее кратное равно произведению этих чисел.
НОК (189, 475) = 189 • 475 = 89775
Как найти наименьшее общее кратное для 189 и 475
Разложим на простые множители 189
189 = 3 • 3 • 3 • 7
Разложим на простые множители 475
475 = 5 • 5 • 19
Выберем в разложении меньшего числа (189) множители, которые не вошли в разложение
3 , 3 , 3 , 7
Добавим эти множители в разложение бóльшего числа
5 , 5 , 19 , 3 , 3 , 3 , 7
Полученное произведение запишем в ответ.
НОК (189, 475) = 5 • 5 • 19 • 3 • 3 • 3 • 7 = 89775