Даны натуральные [latex] n[/latex], действительные [latex] a_{1}…a_{n}[/latex].
Вывести: [latex] a_1+1!, a_2 +2!, …, a_n+n![/latex].
Input : 1 | 2 | 3 | 4 | Output: 2.00 | 4.00 | 9.00 | 28.00 |
Input : 0.1 | 0.2 | 0.3 | 0.4 | Output: 1.10 | 2.20 | 6.30 | 24.40 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <iostream> using namespace std; int main() { int i=1; double a,fact=1.0; while(scanf("%lf",&a)!=EOF)//читаем поток { fact*=i;//увеличиваем факториал printf("%.2lf ",(a+fact));//выводим сумму цифры из потока и факториала i++;//увеличиваем i для увеличения факториала каждый раз при проходе цикла } return 0; } |
Описываем переменную факториала и переменную из потока типа [latex]double[/latex]. Запускаем цикл [latex]while[/latex], у которого в условии ставим:
1 |
scanf("%lf",&a)!=EOF |
(Работать, пока файл не закончится (конец потока)). Дальше в теле цикла описываем увеличение факториала и выводим сумму цифр из потока и факториала, в конце цикла увеличиваем [latex]i[/latex] для увеличения факториала.
Java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); long i = 1,fact = 1; while(in.hasNext()){ double r = in.nextDouble(); fact *= i;i++; System.out.print(r+fact + " "); } } } |
— Где тесты? Посмотрите в других решениях задач этого раздела если не знаете, как сделать тесты.
— Сделайте ссылку для запуска Вашего кода в ideOne или другой облачной системе.
— Описки (ошибки) в комментариях к программе и по тексту. Прочтите весь свой текст.
— Нет меток (ключевых слов). Посмотрите у кого-нибудь из успевающих студентов, как это может выглядеть.
— Посмотрите, пожалуйста, этот материал и внесите исправления во ВСЕ свои работы. Эта проблема встречается у Вас часто.
Выполнино.
Нет
— Если в условии дано n его нужно ввести?
— Я бы попробовал снова Вам описать, что такое метки, дать примеры и ссылки. Но Вы же не станете на это обращать внимания? Как и на пробелы…
Давайте завтра сядем и будете смотреть как я доделываю Ваши отчёты? Несколько для образца..
У нас же раздел: Потоковый ввод. Я думал, что это и предполагает, что мы не знаем какое именно количество элементов нам будут давать, следовательно программа работает, пока имеются данные во входном потоке. А то так программа будет принимать нормированное количество данных, которое понадобится указать вначале программы.
Если Вы льёте поток воды из стакана, Вы точно не знаете его объём? Если сказано, что известен объём
стаканаисходных данных, то нужно его ввести. А затем ввести ровно столько данных. В потоке могут следовать ещё какие-то данные, не имеющие отношения к Вашей программе. Их трогать нельзя.Ссылка на б-версию http://cpp.mazurok.com/%D0%B0137%D0%B1-2/
Java-версия засчитана, 5 баллов.