Шестиклассник Сева Путешественников едет на экскурсию со своим классом. Надо заказать как можно меньше транспортных средств, при этом разместить всех одноклассников и не иметь свободных мест. Транспортные средства могут перевозить 27(А), 9(Б), 3(В), 1(Г) пассажиров. Как перевезти 34 ученика? ответ представьте в виде последовательности букв в алфавитном порядке. Транспортных средств одинаковой вместимости может быть не одно.
#include <iostream>
using namespace std;
bool is_point_in_circle(double x, double y, double xc, double yc, double r);
int main()
{
double x, y, xc, yc, r;
bool result;
cin >> x >> y >> xc >> yc >> r;
result = is_point_in_circle(x, y, xc, yc, r);
if (result) cout << "YES";
else cout << "NO";
return 0;
}
bool is_point_in_circle(double x, double y, double xc, double yc, double r)
{
if ((x - xc) * (x - xc) + (y - yc) * (y - yc) < r * r) return true;
return false;
}
Код неверный
Объяснение:
Вот код:
Первый (простой, работает медленнее)
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 1; i <= n; i++) {
if(sqrt(i) == (int)sqrt(i))
cout << i << ' ';
}
}
Фактически мы просто для каждого числа проверяем, является ли его квадратный корень целым числом.
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
int x = 1, d = 3;
while(x <= n) {
cout << x << ' ';
x += d;
d += 2;
}
}
Решение основывается на этом утверждении:
Разница между квадратами двух последовательных натуральных чисел больше на 2 разницы между предыдущими двумя квадратами, например:
4 - 1 + 2 = 9 - 4
Доказательство:
Из чего получаем:
Доказано.