Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 11
1

Дано натуральное число n

20.01.2012, 14:08. Просмотров 685. Ответов 8
Метки нет (Все метки)

S=1-1/2+1/4-1/8+...+(-1)степень n*1/2 степень n
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.01.2012, 14:08
Ответы с готовыми решениями:

Дано двузначное натуральное число. Получить другое натуральное число, в котором порядок цифр изменен на противоположный
Помогите пожалуйста,Дано двузначное натуральное число. Получить другое натуральное число, в котором...

Дано натуральное число N (N <= 100). Построить натуральное число, состоящее из N цифр и содержащее только цифры 1 и 2, которое делится на 2N
Дано натуральное число N (N &lt;= 100). Построить натуральное число, состоящее из N цифр и содержащее...

Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной записи m изменением порядка цифр на обратный (
Дано натуральное число m. Найти такое натуральное n, что двоичная запись n получается из двоичной...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) ...

8
go
Эксперт С++
3642 / 1374 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
20.01.2012, 14:33 2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
 
double pow( double base, int exp )
{
   size_t i;
   double res = 1;
 
   if ( exp < 0 )
      res = pow ( 1 / base , -1 * exp );
 
   for ( i = 0 ; i < (size_t) exp ; ++i )
      res *= base;
   return res;
}
 
double function(size_t n)
{
   double result = 1.0;
   size_t i;
   for ( i = 1 ; i < n ; ++i )
      result += (pow(-1., i) * pow(1. / 2, i));
   return result;   
}
 
int main(void)
{
   size_t n = 4;
   printf ("%.2lf", function(n) );
   return 0;
}
http://liveworkspace.org/code/... 2586a96c56

Добавлено через 41 секунду
В следующий раз пишите нормально формулу, минут 5 лишних "копался", покуда по вашей написал.
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10879 / 6769 / 1620
Регистрация: 25.07.2009
Сообщений: 12,485
20.01.2012, 14:58 3
go,
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
 
double go_pow( double base, int exp )
{
   size_t i;
   double res = 1;
 
   if ( exp < 0 )
      res = go_pow ( 1 / base , -1 * exp );
 
   for ( i = 0 ; i < (size_t) exp ; ++i )
      res *= base;
   return res;
}
 
int main(void){
    printf("%f\n", go_pow(2.0, -2));
    return 0;
}
уходит в бесконечный цикл
http://codepad.org/Y9FlIfGR
1
go
Эксперт С++
3642 / 1374 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
20.01.2012, 15:18 4
easybudda, -2 уже натуральное число?

Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>
 
double pow( double base, int exp )
{
   size_t i;
   double res = 1;
 
   if ( exp < 0 )
      res = pow ( 1 / base , -1 * exp );
   else
   {   
      for ( i = 0 ; i < (size_t) exp ; ++i )
         res *= base;
   }      
   return res;
}
 
double function(size_t n)
{
   double result = 1.0;
   size_t i;
   for ( i = 1 ; i < n ; ++i )
      result += (pow(-1., i) * pow(1. / 2, i));
   return result;   
}
 
int main(void)
{
   size_t n = 4;
   printf ("%.2lf", function(n) );
   return 0;
}
http://liveworkspace.org/code/... a27dd1eaa9


easybudda, специально для Вас
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
double go_pow( double base, int exp )
{
   size_t i;
   double res = 1;
 
   if ( exp < 0 )
      res = go_pow ( 1 / base , -1 * exp );
   else
   {
      for ( i = 0 ; i < (size_t) exp ; ++i )
         res *= base;
   }
   return res;
}
 
int main(void){
        printf("%f\n", go_pow(2.0, -2));
        return 0;
}
http://codepad.org/4LEP30ae

Добавлено через 1 минуту
Цитата Сообщение от easybudda Посмотреть сообщение
уходит в бесконечный цикл
скорее в рекурсию
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
10879 / 6769 / 1620
Регистрация: 25.07.2009
Сообщений: 12,485
20.01.2012, 15:22 5
Цитата Сообщение от go Посмотреть сообщение
-2 уже натуральное число?
Ну функция возведения в степень тем не менее должна правильно работать, иначе к чему вообще было
Цитата Сообщение от go Посмотреть сообщение
if ( exp < 0 )
? Кстати, я в задании и запрета на использование стандартной pow не заметил...
1
go
Эксперт С++
3642 / 1374 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
20.01.2012, 15:28 6
Цитата Сообщение от easybudda Посмотреть сообщение
Ну функция возведения в степень тем не менее должна правильно работать, иначе к чему вообще было
Согласен. Мой промах.

Цитата Сообщение от easybudda Посмотреть сообщение
? Кстати, я в задании и запрета на использование стандартной pow не заметил...
не нужен он здесь.
0
Модератор
Эксперт по математике/физике
4095 / 2811 / 369
Регистрация: 15.06.2009
Сообщений: 5,263
20.01.2012, 15:36 7
https://www.cyberforum.ru/cgi-bin/latex.cgi?S=\sum_{n=0}^{}{\left(-\frac{1}{2} \right)}^{n}

Сумма бесконечной геометрической прогрессии

https://www.cyberforum.ru/cgi-bin/latex.cgi?S=\frac{1}{1-\frac{-1}{2}}=\frac{2}{3}


C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <math.h>
 
int main(void)
{
    double eps = 1.e-5;
    double sum = 0;
    double an =1;
 
    while( fabs(an) > eps )
    {
        sum += an;
        an = -an/2;
    }
    printf("series\t%f\tcorrect\t%f\n", sum, 2./3.);
    return 0;
}
http://codepad.org/jcH26oji
1
go
Эксперт С++
3642 / 1374 / 243
Регистрация: 16.04.2009
Сообщений: 4,527
20.01.2012, 15:38 8
Том Ардер, тут n-ую сумму найти необходимо...
0
Модератор
Эксперт по математике/физике
4095 / 2811 / 369
Регистрация: 15.06.2009
Сообщений: 5,263
20.01.2012, 15:48 9
Если сумма конечного числа слагаемых, то:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(void)
{
    double sum = 0;
    double an = 1;
    int n = 20;
    int k;
 
    for( k = 0; k < n; k++ )
    {
        sum += an;
        an = -an/2;
    }
    printf("n =%5d\tsum = %f\n", n, sum);
    return 0;
}
http://codepad.org/VeaqVYCY
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.01.2012, 15:48

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Дано натуральное число n, действительное число х. Вычислить sinx+sinx2+...+sinxn
Прошу помочь с 3-мя задачками очень нужно сдать а сделать никак не могу. 1) Дано натуральное число...

Дано натуральное число N и вещественное число x. Вычислить частичную сумму ряда.
Дано натуральное число N и вещественное число x. Вычислить S=\sum \limits_{i = 1}^N \frac x...

Дано шестизначное натуральное число. Определить число сотен и десятков в нем
help Дано шестизначное натуральное число. Определить число сотен и десятков в нем. (Visual studio...

Дано натуральное число N. Получить новое число М, которое образуется из числа N
Дано натуральное число N. Получить новое число М, которое образуется из числа N путем замены...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.