Радио изобрели в 1895 году. MDCCCXCV
Первый полет в космос состоялся в 1961 году. MCMLXI
Олимпийские игры в Москве были проведены в 1980 году. MCMLXXX
#include <iostream>
#include <string>
#include <math.h>
#include <algorithm>
using namespace std;
int hexCharToDec(char hexChar)
{
switch (hexChar) {
case 'a':
return 10;
break;
case 'b':
return 11;
break;
case 'c':
return 12;
break;
case 'd':
return 13;
break;
case 'e':
return 14;
break;
case 'f':
return 15;
break;
default:
return hexChar - 48;
break;
}
}
int hexToDec(string hexString)
{
std::transform(hexString.begin(), hexString.end(), hexString.begin(), ::tolower);
int power = 0, ret = 0;
for (string::reverse_iterator rit = hexString.rbegin(); rit != hexString.rend(); ++rit) {
ret += hexCharToDec(*rit) * pow(16, power);
power++;
}
return ret;
}
int main()
{
string s;
cout << "Строка: ";
cin >> s;
cout << endl << "Ответ: " << hexToDec(s) << endl;
return 0;
}
const
N=5;
var
a:array [1..N] of integer;
i,k,count:integer;
begin
for i:=1 to N do
begin
a[i]:=random(20);
write(a[i]);
end;
for i:=1 to N do
begin
count:=0;
k:=2;
if a[i] < 2 then count:=1;
while (k*k<=a[i]) and (count = 0) do
begin
if a[i] mod k = 0 then inc(count);
inc(k);
end;
if count = 0 then write(i);
end;
end.
Ответ:
есть пара неясностей в условии. если допускается такое, что единица и само число тоже являются делителями, то берите первый вариант решения, иначе - берите второе.
и еще кое-что: если нужно хотя бы 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);
Номер 17, ответ 9
А ещё у вас ошибка вроде в 18