Васильевна_Наталья
?>

Написать программу. Которая найдет, Сколько раз встречается заданный символ во введенной строке. Строка вводится посимвольно.

Информатика

Ответы

bugaevnicky

1.

#include <iostream>

using namespace std;

int main()

{

   double n, j = 1;

   long long i;

   cin >> n;

   for(i = 2; i <= n; i++)

       if(i % 2)

       j += (1.0/(2.0*i-1.0));

             else

             j -= (1.0/(2.0*i-1.0));

   cout << j << endl;

   return 0;

}

2.

#include <iostream>

using namespace std;

int main()

{

   double n, j = 0;

   long long i;

   cin >> n;

   for(i = 1; i <= n; i++)

       j += (1.0/(n*(n+3.0)));

   cout << j << endl;

   return 0;

}

Объяснение:

klkkan
2^8+2^6+2^4+2^3+2^2+2^{-3}=256+64+16+8+4+1/8=348.125
Выписываем только те степени двойки, которые соответствуют позициям единиц в двоичной записи.
Как это делать на практике?
1. Целая часть
Записываем, ведя счет СПРАВА НАЛЕВО, номера позиций единиц, причем отсчет начинаем С НУЛЯ: 2,3,4,6,8. Мы получили степени двойки, которые надо вычислить и сложить. 4+8+16+64+256=348
2. Дробная часть
Записываем, ведя счет в обычном направлении номера позиций единиц, начиная отсчет С ЕДИНИЦЫ: 3. Мы получили степени двойки, которые должны стоять в знаменателе дробей (а в числители будут стоять единицы). Это дает 1/8 или 0.125.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу. Которая найдет, Сколько раз встречается заданный символ во введенной строке. Строка вводится посимвольно.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

nngudkova1970
aynaakzhigitova
demon8608
orantus3
Ilin1022
levsha-27509
ievlevasnezhana7
Ohokio198336
ЛаринаЛощаков
Реши Здоровья тебе желаю! ​
ccc712835
dima-pashkovec
ekvld708
Mariya Filippov
Sidorenko
Dragun1684