Вторник, 23 Апреля 2024, 17:10

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » C/C++ » Решение задачи в С++ (Help me please)
Решение задачи в С++
NikavrДата: Суббота, 08 Октября 2011, 13:30 | Сообщение # 1
Nikolai-Denver
Сейчас нет на сайте
Игроделы, помогите писателю разобраться в с++, а точнее решите пожалуйста задачки в простеньком типе. Буду очень благодарен.
1 Дано вещественное число A и целое число N (> 0). Используя один цикл, найти значение выражения
1 − A + A2− A3+ . . . + (−1)N•AN.
Условный оператор не использовать.

2 Дано вещественное число A и целое число N (> 0). Найти A в степени N :
AN = A•A• . . . •A
(числа A перемножаются N
3 Даны целые положительные числа A и B (A < B). Вывести все целые числа от A до B включительно; при этом каждое число должно выводиться столько раз, каково его значение (например, число 3 выводится 3 раза).

4 Начальный вклад в банке равен 1000 руб. Через каждый месяц размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). По данному P определить, через сколько месяцев размер вклада превысит 1100 руб., и вывести найденное количество месяцев K (целое число) и итоговый размер вклада S (вещественное число).

5 Дано число A (> 1). Вывести наибольшее из целых чисел K, для которых сумма 1 + 1/2 + . . . + 1/K будет меньше A, и саму эту сумму.


Мой блог

Частички смысла всегда теряются в бездне непонимания. Во множестве, непонимание становится смыслом, любое противоречие которому становится неприемлимым. Источники неприемлимого становятся врагом номер один, так умирает мозг...
BOOMДата: Суббота, 08 Октября 2011, 13:46 | Сообщение # 2
I am the creator of ADE
Сейчас нет на сайте
Code
int Zadacha_1(int A, int N){
      int result = 1 - A;
      bool min = false;
      for(int i = 2; i<N; i++){
          if(min){
              result = result - ( A * i );
              min = false;   
          }
          else{
              result = result + ( A * i );
              min = true;   
          }
      }
      return result;
}

//Без math.h
int Zadacha_2(int A, int N){
      int r = A;
      for(int i=0; i<N; i++) r = r * N;
      return r;
}


А на остальные додумаешься...


______________________________
Я вернулся, и это чудо.
______________________________
РесторДата: Воскресенье, 09 Октября 2011, 01:28 | Сообщение # 3
был не раз
Сейчас нет на сайте
Code

//Задача 3
int a=5;
int b=8;
for (int i=a;i<=b;i++)
{
  for (int j=1;j<=i;j++){cout<<i<<" ";}
}

//Задача 4
float S=1000;
float P=3;
int NumberOfMonth=0;
do
{
  S*=1+P/100;
  NumberOfMonth++;
} while (S<1100);
cout<<"Number of month: "<<NumberOfMonth<<endl;
cout<<"Deposit: "<<S;

//Задача 5:
double Sum=0, A=6, K=1;
do
{
  Sum+=1/K;
  K++;
} while (Sum<A);
cout<<"K = "<<K<<endl;
cout<<"Sum = "<<Sum<<endl;
NikavrДата: Воскресенье, 09 Октября 2011, 11:00 | Сообщение # 4
Nikolai-Denver
Сейчас нет на сайте
Спасибо большое всем!!!!!

Мой блог

Частички смысла всегда теряются в бездне непонимания. Во множестве, непонимание становится смыслом, любое противоречие которому становится неприемлимым. Источники неприемлимого становятся врагом номер один, так умирает мозг...
РесторДата: Понедельник, 10 Октября 2011, 11:05 | Сообщение # 5
был не раз
Сейчас нет на сайте
Quote (BOOM)

Code
int Zadacha_1(int A, int N){
      int result = 1 - A;
      bool min = false;
      for(int i = 2; i<N; i++){
          if(min){
              result = result - ( A * i );
              min = false;   
          }
          else{
              result = result - ( A * i );
              min = true;   
          }
      }
      return result;
}

//Без math.h
int Zadacha_2(int A, int N){
      int r = A;
      for(int i=0; i<N; i++) r = r * N;
      return r;
}


А на остальные додумаешься...

Кстати код обоих задач не верен.

Code
//Задача № 1
double A=1.75,Result=1;
unsigned int N=25;
for (int i=1,Sign=1;i<=N;i++,Sign=-Sign)
{
     Result-=Sign*A*i;
}

//Задача № 2
double A=3.14,Result=A;
unsigned int N=10;
for (int i=2;i<=N;i++)
{
     Result*=A;
}
BOOMДата: Вторник, 18 Октября 2011, 20:43 | Сообщение # 6
I am the creator of ADE
Сейчас нет на сайте
Рестор, код классический, возможны статические ошибки, где +, где минус, писал в пост.

Твой вариант интересен, но к нему можно много критики прикрутить, впрочем, как и моему.
Только одно скажу, вместо double, я бы использовал float, конечно, если бы не требовалось бы более мощное и точное вычисление.
З.Ы.
Ты бы ещё использовал __int64, или устаревшее long long smile


______________________________
Я вернулся, и это чудо.
______________________________
РесторДата: Среда, 19 Октября 2011, 17:14 | Сообщение # 7
был не раз
Сейчас нет на сайте
Quote (BOOM)
Рестор, код классический, возможны статические ошибки, где +, где минус, писал в пост.

Ошибка со знаком и типами значений (код не будет правильно работать с целыми числами) может и статические, но во второй задаче сам алгоритм не верен еще. Впрочем все ошибаются и ничего страшного тут нет:)
Quote
Твой вариант интересен, но к нему можно много критики прикрутить, впрочем, как и моему.
Только одно скажу, вместо double, я бы использовал float, конечно, если бы не требовалось бы более мощное и точное вычисление.

В первой, второй и 5ой задачах double предпочтительней. К примеру если в 5 задаче поставить А=30, кол-во операций деления и суммирования будет огромным.


Сообщение отредактировал Рестор - Среда, 19 Октября 2011, 17:18
Форум игроделов » Программирование » C/C++ » Решение задачи в С++ (Help me please)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг