Advertisement
Infiniti_Inter

Практикум 4, задание 5, номер 11

Sep 16th, 2019
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace mainSolution
  8. {
  9.     public class MyException : Exception
  10.     {
  11.         public MyException(string messege) : base(message: messege + "\n\n\n Exception founded by Decibit\n\n\n") { }
  12.         public MyException() : base()
  13.         {
  14.  
  15.         }
  16.         public void Messsage()
  17.         {
  18.             Console.WriteLine("\n\n\n\n\n\n Invalid number, please enter a number from 1 to 12 \n\n\n\n\n\n");
  19.         }
  20.  
  21.  
  22.     }
  23.     class Input
  24.     {
  25.         private static IEnumerator<string> getin()
  26.         {
  27.             while (true)
  28.                 foreach (string s in Console.ReadLine().Split().Where(x => x.Length > 0))
  29.                     yield return s;
  30.         }
  31.  
  32.         private IEnumerator<string> inp = getin();
  33.  
  34.         public string GetString() { inp.MoveNext(); return inp.Current; }
  35.         public int GetInt() { return int.Parse(GetString()); }
  36.         public long GetLong() { return long.Parse(GetString()); }
  37.         public double GetDouble() { return double.Parse(GetString()); }
  38.     }
  39.  
  40.     static class Program
  41.     {
  42.         static public Input cin = new Input();
  43.  
  44.  
  45.         static void Main(string[] args)
  46.         {
  47.             Console.WriteLine("Enter EPS:");
  48.             double EPS = cin.GetDouble();
  49.             Console.WriteLine("№\t x\t F(x)\t\t n");
  50.             for (int step = 0; step <= 10; step++)
  51.             {
  52.                 double x = Convert.ToDouble(step) / 10;
  53.                 double X = x;
  54.                 long fact = 1;
  55.                 int i = 2;
  56.                 double cur, ans = 1.000000;
  57.                 while (true)
  58.                 {
  59.                     cur = X / fact;
  60.                     if (cur < EPS)
  61.                     {
  62.                         Console.WriteLine($"{step + 1}\t x = {x} F({x}) = {ans:#.######} n = {i}");
  63.                         break;
  64.                     }
  65.                     ans += cur;
  66.                     X *= x;
  67.                     i++;
  68.                     fact *= i;
  69.                 }
  70.             }
  71.         }
  72.  
  73.     }
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement