Условие пытается немного обмануть решающего. На самом деле всегда можно выбрать Рахманов ломтик строки, состоящий из одного символа (действительно, если в искомой подстроке несколько символов, то каждый из них встречается не меньшее число раз, что и сама подстрока). В итоге задача превращается в тривиальную: считать строку и вывести символ, встречающийся максимальное число раз.
#include <iostream>
int main() {
char c, maxchar;
int count[26] = {0}, maxcount = 0;
while (std::cin.get(c)) {
count[c - 'a']++;
}
for (c = 0; c < 26; c++) {
if (count[c] > maxcount) {
maxcount = count[c];
maxchar = c;
}
}
std::cout << static_cast<char>(maxchar + 'a');
return 0;
}
program raf105;
var
A: real;
x: integer;
begin
write('Введите число в битах: ');
readln(A);
writeln('1. Байт');
writeln('2. Килобайт');
writeln('3. Магабайт');
writeln('4. Гигабайт');
write('Введите номер единицы, в которую нужно перевести: ');
readln(x);
if x=1 then writeln(A/8,' байт')
else if x=2 then writeln(A/8000,' кб.')
else if x=3 then writeln(A/8000000,' мб.')
else if x=4 then writeln(A/8000000000,' гб.')
else writeln('Ошибка');
end.
PascalABC 3.4.2
package javaguru;
import java.util.Scanner;
import java.util.Random;
public class hw {
public static void main(String[] args) {
int[] cats = new int[10];
int countEven = 0;
int countOdd = 0;
for (int i = 0; i < cats.length; i++) {
cats[i] = ((int) (Math.random()*100));
System.out.print(cats[i] + " ");
if ( cats[i] % 2 != 0 ){
countOdd++;
} else {
countEven++;
}
}
System.out.println();
System.out.println("Odd count " + countOdd);
System.out.println( "Even count " + countEven );
}
}