Проверить,можно ли из шестеричной записи числа (x) отбросить несколько первых цифр так,чтобы оно стало простым - C (СИ)
Формулировка задачи:
ПРОСТОЕ-делится только на самого себя и только на 1.
Решение задачи: «Проверить,можно ли из шестеричной записи числа (x) отбросить несколько первых цифр так,чтобы оно стало простым»
textual
Листинг программы
char buf[128]; int i, val; scanf("%s", buf, 127); for (i = 0; i < strlen(buf); i++) { sscanf(buf + i, "%d", &val); if (Prime(val) == 1) { printf("Value: %s\n", buf + i); return 1; } } printf("No chance\n"); return 0;
Объяснение кода листинга программы
В этом коде:
char buf[128];
- в этой строке объявляется массив символов, который будет использоваться для хранения строки, введенной пользователем.int i, val;
- здесь объявляются две переменные:i
- для хранения индекса текущего символа в строке, иval
- для хранения числового значения текущего символа.scanf(
%s, buf, 127);
- эта функция считывает строку, введенную пользователем, и сохраняет ее в массивеbuf
. Максимально возможное количество символов для чтения - 127.for (i = 0; i < strlen(buf); i++)
- это цикл, который проходит по всем символам в строке.sscanf(buf + i,
%d, &val);
- эта функция пытается преобразовать текущий символ или набор символов в целое число и сохранить его в переменнойval
. Если преобразование не удается, то вval
будет сохранено значение 0.if (Prime(val) == 1)
- здесь проверяется, является ли числоval
простым. Если да, то выполняется следующий блок кода.printf(
Value: %s\n, buf + i);
- здесь выводится сообщение, содержащее найденное простое число.return 1;
- если было найдено простое число, функция возвращает 1.printf(
No chance\n);
- если не было найдено простое число, выводится это сообщение.return 0;
- в конце функции возвращается 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д