есть пара неясностей в условии. если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
и еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k> =4 then write(i: 3); уберите знак > .
1 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число n');
for i: = 1 to n do begin
k: =0;
for j: = 1 to i do
if i mod j =0 then k: =k+1;
if k> =4 then write(i: 3);
2 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число n');
for i: = 1 to n do begin
k: =0;
for j: = 2 to (i-1) do
if i mod j =0 then k: =k+1;
if k> =4 then write(i: 3);
catmos
03.12.2020
1) 0*2^0+ 1*2^1=0+ 2=2 10 в двоичной=2 в десятичной 1*2^0+ 0*2^1+0*2^3+1*2^4= 1+0+0+16=17 1001 в двоичной=17 в десятичной 1*2^0+0*2^1+1*2^2= 1+0+4=5 101 в двоичной=5 в десятичной 2) а) 11011 1*2^0+1*2^1+ 0*2^2+1*2^3+1*2^4= 1+2+0+8+16= 26 11011 в двоичной=26 в десятичной 1100 0*2^0+0*2^1+1*2^2+1*2^3= 0+0+4+8=12 1100 в двоичной=12 в десятичной 10011 1*2^0+1*2^1+0*2^2+0*2^3+1*2^4= 1+2+0+0+16=19 10011 в десятичной=19 в двоичной 110101 1*2^0+ 0*2^1+1*2^2+0*2^3+1*2^4+1*2^5=1+0+4+0+16=21 110101 в двоичной = 21 в десятичной б) 7512 2*8^0+1*8^1+5*8^2+7*8^3=2+8+320+3584=3914 7512 в восмеричной=3914 в десятичной 5327 7*8^0+2*8^1+3*8^2+5*8^3= 7+16+192+2560= 2775 5327 в восьмеричной=2775 в десятичной в) 8e5 5*16^0+14*16^1+ 8*16^2= 5+224+2048= 2277 8e5 в шестнадцатеричной= 2277 в десятичной abc 12*16^0+11*16^1+10*16^2= 12+176+2560+2748 abc в шестнадцатеричной=2748 в десятичной
Kalugin Vyacheslavovna605
03.12.2020
Не совсем требования к программе понятны. написал на паскальавс.нет с использованием функции var x,y,z: integer; function ex(x: integer): integer; begin if x> 0 then result: =2*x else result: =x*x; end; begin write('введите x, y, z: '); readln(x,y,z); x: =ex(x); y: =ex(y); z: =ex(z); writeln('новые значения: ',x,'; ',y,'; ',z); end.вариант без использования функцииvar x,y,z: integer; begin write('введите x, y, z: '); readln(x,y,z); if x> 0 then x: =2*x else x: =x*x; if y> 0 then y: =2*y else y: =y*y; if z> 0 then z: =2*z else z: =z*z; writeln('новые значения: ',x,'; ',y,'; ',z); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Решите . в turbo pascal. выведите на экран вче числа от 1 до n , у которых 4 делителя. заранее огромное .
есть пара неясностей в условии. если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
и еще кое-что: если нужно хотя бы 4 делителя, то оставьте все как есть, а если нужно ровно четыре делителя, в строчке if k> =4 then write(i: 3); уберите знак > .
1 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число n');
for i: = 1 to n do begin
k: =0;
for j: = 1 to i do
if i mod j =0 then k: =k+1;
if k> =4 then write(i: 3);
2 вариант.
program zadacha;
var n, i, j, k : byte;
begin
write('введите число n');
for i: = 1 to n do begin
k: =0;
for j: = 2 to (i-1) do
if i mod j =0 then k: =k+1;
if k> =4 then write(i: 3);