Probleme propuse

1. Sa se afiseze suma numerelor de la 1...n, n se citeste de la tastatura.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

 

    class Program

    {

        static int suma(int p, int u)

        {

            int m, m1, m2;

            if (p == u) return p;

            else

            {

                m = (p + u) / 2;

                m1 = suma(p, m);

                m2 = suma(m + 1, u);

                return m1 + m2;

            }

        }

        static void Main(string[] args)

        {

            Console.Write("n=");

            int n = int.Parse(Console.ReadLine());

            Console.WriteLine(suma(1, n));

            Console.ReadKey();

        }

    }

2. Se citesc de la tastatura n numere. Sa se afiseze suma numerelor.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

    }

 

    public int suma(int p, int u)

    {

        int m, m1, m2;

        if (p == u) return a[p];

        else

        {

            m = (p + u) / 2;

            m1 = suma(p, m);

            m2 = suma(m + 1, u);

            return m1 + m2;

        }

    }

 

}

public class program

{

    static void Main()

    {

        vector x = new vector();

        Console.WriteLine(x.suma(1, x.n));

        Console.ReadKey();

    }

}

3. Se citesc de la tastatura n numere. Sa se afiseze valoarea minima.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

    }

 

    public int min(int p, int u)

    {

        int m, m1, m2;

        if (p == u) return a[p];

        else

        {

            m = (p + u) / 2;

            m1 = min(p, m);

            m2 = min(m + 1, u);

            if (m1 > m2) return m2;

            else return m1;

        }

    }

 

}

public class program

{

    static void Main()

    {

        vector x = new vector();

        Console.WriteLine(x.min(1, x.n));

        Console.ReadKey();

    }

}

Se citesc de la tastatura n numere. Sa se afiseze pozitiile din vector unde se gaseste valoarea maxima.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

    }

 

    public int max(int p, int u)

    {

        int m, m1, m2;

        if (p == u) return a[p];

        else

        {

            m = (p + u) / 2;

            m1 = max(p, m);

            m2 = max(m + 1, u);

            if (m1 > m2) return m1;

            else return m2;

        }

    }

    public void pozitii(int i, int maxim)

    {

        if (a[i] == maxim) Console.Write(i + " ");

        if (i < n) pozitii(i + 1, maxim);

    }

 

}

public class program

{

    static void Main()

    {

        vector x = new vector();

        int maxim = x.max(1, x.n);

        Console.WriteLine("Valoarea maxima="+maxim);

        Console.WriteLine("pozitiile din vector unde se gaseste valoarea maxima");

        x.pozitii(1, maxim);

        Console.ReadKey();

    }

}

(Cautare binara) Se citesc de la tastatura n numere intregi in ordine crescatoare si un numar intreg c. Sa se afiseze pozitia pe care se gaseste c in sirul celor n numere.

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int c;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

        Console.WriteLine("Dati nr cautat=");

        c = int.Parse(Console.ReadLine());

    }

    public void caut(int p, int u)

    {

        int m;

        if (p > u) Console.WriteLine("nr nu se gaseste printre elementele citite");

        else

        {

            m = (p + u) / 2;

            if (a[m] == c) Console.WriteLine("Elementul se gaseste pe pozitia "+m);

            else

            if(a[m]<c) caut(m+1,u);

            else caut(p,m-1);

        }

 

       }

        }

   

 

 

 

public class program

{

    static void Main()

    {

        vector x = new vector();

        x.caut(1, x.n);

        Console.ReadKey();

    }

}

 

Se citesc de la tastatura n numere. Sa se afiseze cmmdc-ul acestor numere.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int c;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

            }

    static int cmmdc(int a,int b)

    {

        if (a == b) return a;

        else if (a > b) return cmmdc(a - b, b);

        else return cmmdc(a, b - a);

    }

    public int cmmdcn(int p, int u)

    {

        int m, m1, m2;

        if (p == u) return (a[p]);

        else

        { m = (p + u) / 2;

        m1 = cmmdcn(p, m);

        m2 = cmmdcn(m + 1, u);

        return cmmdc(m1, m2);

        }

    }

  

        }

   

 

 

 

public class program

{

    static void Main()

    {

        vector x = new vector();

        Console.WriteLine("cmmdc="+x.cmmdcn(1, x.n));

        Console.ReadKey();

    }

}

Se citesc de la tastatura n numere. Sa se afiseze numarul numerelor strict pozitive.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

    }

 

    public int numar(int p, int u)

    {

        int m, m1, m2;

        if (p == u) if (a[p] > 0) return 1;

            else return 0;

        else

        {

            m = (p + u) / 2;

            m1 = numar(p, m);

            m2 = numar(m + 1, u);

            return m1 + m2;

        }

    }

 

}

public class program

{

    static void Main()

    {

        vector x = new vector();

        Console.WriteLine("numarul de numere strict pozitive="+x.numar(1, x.n));

        Console.ReadKey();

    }

}

Se citesc de la tastatura n numere. Sa se afiseze numarul de numere prime.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

public class vector

{

    public int n;

    public int[] a = new int[50];

    public vector()

    {

        Console.Write("n=");

        n = int.Parse(Console.ReadLine());

        for (int i = 1; i <= n; i++)

        {

            Console.WriteLine("a[" + i + "]=");

            a[i] = int.Parse(Console.ReadLine());

        }

    }

    static int prim(int i,int x)

    {

        if (x % i == 0) return 0;

        if (i < x / 2) prim(i + 1, x);

        return 1;

    }

    public int numar(int p, int u)

    {

        int m, m1, m2;

        if (p == u) if ((a[p]>=2)&&(a[p]==2 || prim(2,a[p])==1)) return 1;

            else return 0;

        else

        {

            m = (p + u) / 2;

            m1 = numar(p, m);

            m2 = numar(m + 1, u);

            return m1 + m2;

        }

    }

 

}

public class program

{

    static void Main()

    {

        vector x = new vector();

        Console.WriteLine("numarul de numere prime="+x.numar(1, x.n));

        Console.ReadKey();

    }

}

 

Tjobs.ro
Imbraca-te cu Originals.ro

counter for wordpress

View My Stats