Нужна с задачей по паскаль. На языке Паскаль составить программу для проверки равенства. С клавиатуры ввести точность ε и вещественное число x. Определить, сколь-ко сомножителей было найдено
Строка вводится с клавиатуры(максимум 99 символов). Первое слово должно быть с маленькой буквы или первая и последняя буквы этого слова не должны совпадать(иначе такое слово как Test не засчитается). Также будет засчитываться одна буква(abc d efg, буква d подходит, так как она и первая и последняя)
#include <iostream> using std::cout; using std::cin; using std::endl; #include <cstring> using std::strtok; using std::strlen;
int main() { char a[100], *ptr;
cout << "Enter the string:" << endl; cin.getline(a, 100);
Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
Строка вводится с клавиатуры(максимум 99 символов). Первое слово должно быть с маленькой буквы или первая и последняя буквы этого слова не должны совпадать(иначе такое слово как Test не засчитается). Также будет засчитываться одна буква(abc d efg, буква d подходит, так как она и первая и последняя)
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
#include <cstring>
using std::strtok;
using std::strlen;
int main()
{
char a[100], *ptr;
cout << "Enter the string:" << endl;
cin.getline(a, 100);
cout << endl;
ptr = strtok(a, "., ");
while(ptr)
{
if(*ptr == *(ptr + strlen(ptr) - 1))
{
cout << ptr << ' ';
}
ptr = strtok(NULL, "., ");
}
cout << endl;
return 0;
}
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза.
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим
49/6=8 |1
8/6 = 1 |2
1/6=0 |1
121(6)