а)89/2 = 44, остаток: 1
44/2 = 22, остаток: 0
22/2 = 11, остаток: 0
11/2 = 5, остаток: 1
5/2 = 2, остаток: 1
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
8910 = 10110012
б)600/2 = 300, остаток: 0
300/2 = 150, остаток: 0
150/2 = 75, остаток: 0
75/2 = 37, остаток: 1
37/2 = 18, остаток: 1
18/2 = 9, остаток: 0
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
60010 = 10010110002
в)2010/2 = 1005, остаток: 0
1005/2 = 502, остаток: 1
502/2 = 251, остаток: 0
251/2 = 125, остаток: 1
125/2 = 62, остаток: 1
62/2 = 31, остаток: 0
31/2 = 15, остаток: 1
15/2 = 7, остаток: 1
7/2 = 3, остаток: 1
3/2 = 1, остаток: 1
1/2 = 0, остаток: 1
201010 = 111110110102
Для того, чтобы перевести число из десятичной системы в двоичную, нужно делить число на 2 и записывать остаток:
а. 89 ÷ 2 = 44, остаток 1;
44 ÷ 2 = 22, остаток 0;
22 ÷ 2 = 11, остаток 0;
11 ÷ 2 = 5, остаток 1;
5 ÷ 2 = 2, остаток 1;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1
Запишем остатки от деления в обратном порядке: 1011001.
89₁₀ = 1011001₂
По такой же аналогии переведём остальные числа:
б. 600 ÷ 2 = 300, остаток 0;
300 ÷ 2 = 150, остаток 0;
150 ÷ 2 = 75, остаток 0;
75 ÷ 2 = 37, остаток 1;
37 ÷ 2 = 18, остаток 1;
18 ÷ 2 = 9, остаток 0;
9 ÷ 2 = 4, остаток 1;
4 ÷ 2 = 2, остаток 0;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1;
600₁₀ = 1001011000₂
в. 2010 ÷ 2 = 1005, остаток 0;
1005 ÷ 2 = 502, остаток 1;
502 ÷ 2 = 251, остаток 0;
251 ÷ 2 = 125, остаток 1;
125 ÷ 2 = 62, остаток 1;
62 ÷ 2 = 31, остаток 0;
31 ÷ 2 = 15, остаток 1;
15 ÷ 2 = 7, остаток 1;
7 ÷ 2 = 3, остаток 1;
3 ÷ 2 = 1, остаток 1;
1 ÷ 2 = 1, остаток 1;
2010₁₀ = 11111011010₂
#include <cmath>
using namespace std;
bool prost(int m){
int k = 0;
for (int i=2; i<=sqrt(m); i++)
if (m % i == 0) k++;
return k==0;
}
int main(){
int n, r;
int i = 1;
cout << "n = ", cin >> n, cout << "\n";
if (prost(n)) {
cout << "1 * " << n << " = " << n << "\n";}
else {
r = n;
while (r != 1){
i++;
if (prost(i)){
while (r % i == 0){
r = r / i;
cout << i;
if (r != 1) cout << "*";
}
}
}
cout << "=" << n << "\n";
}
return 0;
}
Пример:
n = 2720
2*2*2*2*2*5*17=2720