Решение задачи в С++
|
|
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
______________________________ Я вернулся, и это чудо. ______________________________
|
|
| |
Рестор | Дата: Среда, 19 Октября 2011, 17:14 | Сообщение # 7 |
был не раз
Сейчас нет на сайте
| Quote (BOOM) Рестор, код классический, возможны статические ошибки, где +, где минус, писал в пост. Ошибка со знаком и типами значений (код не будет правильно работать с целыми числами) может и статические, но во второй задаче сам алгоритм не верен еще. Впрочем все ошибаются и ничего страшного тут нет:) Quote Твой вариант интересен, но к нему можно много критики прикрутить, впрочем, как и моему. Только одно скажу, вместо double, я бы использовал float, конечно, если бы не требовалось бы более мощное и точное вычисление. В первой, второй и 5ой задачах double предпочтительней. К примеру если в 5 задаче поставить А=30, кол-во операций деления и суммирования будет огромным.
Сообщение отредактировал Рестор - Среда, 19 Октября 2011, 17:18 |
|
| |