На языке С++
Объяснение:
#include <iostream>
using namespace std;
long double fact(int N)
{
if(N < 0) // если пользователь ввел отрицательное число
return 0; // возвращаем ноль
if (N == 0) // если пользователь ввел ноль,
return 1; // возвращаем факториал от нуля - не удивляетесь, но это 1 =)
else // Во всех остальных случаях
return N * fact(N - 1); // делаем рекурсию.
}
int main(){
double ans=1,x;
cin>>x;
double temp=1,tempx,step;
while(temp>=0.000001){
tempx=1;
for(int i=1;i<step;i++)
tempx *= x;
temp = tempx / fact(step);
ans+=temp;
step++;
}
cout<<ans;
return 0;}
1) сначала переведём
1*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0 = 45 ( в десятой СС) // ^это степень , тобишь разряд умножаем на 2 в степени разряда
1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0=50( в десятичной СС)
2) принадлежат интервалу = 45+46+47+48+49+50=285
3) переведём в двоичную СС
285/2 = 142, остаток: 1
142/2 = 71, остаток: 0
71/2 = 35, остаток: 1
35/2 = 17, остаток: 1
17/2 = 8, остаток: 1
8/2 = 4, остаток: 0
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
285 = 1000111012
ответ: а)45-50 б) 1000111012