Даны натуральные [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 + " "); } } } |