перевести из двоичной СС в десятичную СС слудующие числа: 111;1010;11011;101101; перевести из десятичной СС в другие СС: а)256(10) в шеснадцатиричную СС; б) 34(10) в двоичную СС; в)512(10) в восьмиричную СС
"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?
про пятеричные записи ничего не понял... :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию
var x,a,b: longint;
begin
for var i := 999 DownTo 100 do begin
a := 0;
b := 1;
x := i;
while x>0 do begin
if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);
x := x div 5;
end;
if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);
end;
end.
прога проводит расчет для всх трехзначных чисел от 999 до 100
итого мы видим что максимальное подходящее число это 960
при необходимости прогу можно переделать чтобы она находила только максимальное число.
#include <iostream> #include <iomanip> int main() { using namespace std; const int N = 4; const int M = 4; int Y[N][M];
//как-нибудь заполняем матрицу for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) Y[i][j] = (i + 1) * (j + 1);
//выведем её на экран for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) cout << setw(3) << Y[i][j]; cout << endl; }
//находим сумму элементов побочной диагонали int S = 0; for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) if (j == M - 1 - i) S = S + Y[i][j]; cout << "Sum of adverse diagonal of array: " << S << endl;
//находим сумму всех элементов матрицы int Sum = 0; for (int i = 0; i < N; ++i) for (int j = 0; j < M; ++j) Sum = Sum + Y[i][j]; cout << "Sum of all elements of array: " << Sum << endl; return 0; }
"...напечатает сначала 2, потом - 6" -- это значит a=2 и b=6?
про пятеричные записи ничего не понял... :) И ИМХО к чему такие сложности? И для чего нам комп и программа? Я подправил исходную прогу чтобы она выдавала все числа подходящие по условию
var x,a,b: longint;
begin
for var i := 999 DownTo 100 do begin
a := 0;
b := 1;
x := i;
while x>0 do begin
if x mod 2 > 0 then a := a+1 else b := b+(x mod 5);
x := x div 5;
end;
if (a = 2) and (b = 6) then writeln('x = ', i, ' a = ', a, ' b = ',b);
end;
end.
прога проводит расчет для всх трехзначных чисел от 999 до 100
итого мы видим что максимальное подходящее число это 960
при необходимости прогу можно переделать чтобы она находила только максимальное число.
#include <iomanip>
int main()
{
using namespace std;
const int N = 4;
const int M = 4;
int Y[N][M];
//как-нибудь заполняем матрицу
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
Y[i][j] = (i + 1) * (j + 1);
//выведем её на экран
for (int i = 0; i < N; ++i)
{
for (int j = 0; j < M; ++j)
cout << setw(3) << Y[i][j];
cout << endl;
}
//находим сумму элементов побочной диагонали
int S = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
if (j == M - 1 - i)
S = S + Y[i][j];
cout << "Sum of adverse diagonal of array: " << S << endl;
//находим сумму всех элементов матрицы
int Sum = 0;
for (int i = 0; i < N; ++i)
for (int j = 0; j < M; ++j)
Sum = Sum + Y[i][j];
cout << "Sum of all elements of array: " << Sum << endl;
return 0;
}