1.1.2 Sa interschimbe valorile a doua variabile
using System;
namespace ex1
{
class Program
{
static void Main(string[] args)
{
int a = 5;
int b = 10;
int t = 0;
Console.WriteLine("\t\t\t Interschimbarea valorilor a doua variabile:");
Console.WriteLine(" I. Prin intermediul unei variabile temporare");
Console.WriteLine("\t Valorile initiale ale variabilelor: a = " + a +
"; b = " + b + ";");
t = a;
a = b;
b = t;
Console.WriteLine("\t Valorile variabilelor dupa interschimbare" +
": a = " + a + "; b = " + b + ";");
Console.WriteLine();
int x = 3;
int y = 6;
Console.WriteLine(" II. Fara a folosi variabila temporara");
Console.WriteLine("\t Valorile initiale ale variabilelor: x = " + x +
"; y = " + y + ";");
x = x + y;
y = x - y;
x = x - y;
Console.WriteLine("\t Valorile variabilelor dupa interschimbare" +
": x = " + x + "; y = " + y + ";");
Console.WriteLine();
Console.ReadKey(true);
}
}
}
Interschimbarea valorilor a doua variabile: II. Fara a folosi variabila temporara |
1.1.3 Se da un numar intreg a si un intreg pozitiv n. De calculat an.
using System;
namespace ex2
{
class Program
{
static void Main(string[] args)
{
//introducem o variabila k, care se modifica de la 0 la n,
int a = 2;
int n = 3;
int k = 0;
int b = 1;
Console.WriteLine("\t\t\t Ridicare la putere a^n:");
Console.WriteLine(" Valorile initiale ale variabilelor: a = " + a +
"; n = " + n + ";");
//primul algoritm
/* while (k != n)
{
k++;
b = b * a;
}*/
//al doilea algoritm
while (n != 0)
{
n--;
b = b * a;
}
Console.WriteLine(" Valoarea a^n = " + b);
Console.ReadKey(true);
}
}
}
Ridicare la putere a^n: Valorile initiale ale variabilelor: a = 2; n = 3; Valoarea a^n = 8 |
1.1.4 Se se rezolve exercitiul precedent, reducind ordinul de complexitate la log n (adica sa nu depaseasca C log n pentru o constanta C)
using System;
namespace ex2
{
class Program
{
static void Main(string[] args)
{
//introducem o variabila k, care se modifica de la 0 la n,
int a = 2; // numarul
int n = 7; // puterea
int b = 1; //rezultatul
Console.WriteLine("\t\t\t Ridicare la putere a^n:");
Console.WriteLine(" Valorile initiale ale variabilelor: a = " + a +
"; n = " + n + ";");
int k = n;
int c = a;
while (k != 0)
{
if (k % 2 == 0)
{
k = k / 2;
c = c * c;
}
else {
k = k - 1;
b = b * c;
}
}
Console.WriteLine(" Valoarea a^n = " + b);
Console.ReadKey(true);
}
}
}
Ridicare la putere a^n: Valorile initiale ale variabilelor: a = 2; n = 7; Valoarea a^n = 128 |
1.1.5 Se dau numerele naturale a ,b. Sa se calculeze produsul a*b, folosind doar operatiile +, -, =, <>.
using System;
namespace ex3
{
class Program
{
static void Main(string[] args)
{
//introducem o variabila k, care se modifica de la 0 la n,
int a = 2; // numarul
int b = 7; // puterea
Console.WriteLine("\t\t\t Produsul a * b:");
Console.WriteLine(" Valorile initiale ale variabilelor: a = " + a +
"; b = " + b + ";");
int c = 0;
//c = a * n
while (b != 0)
{
b--;
c += a;
}
Console.WriteLine(" Valoarea a^n = " + c);
Console.ReadKey(true);
}
}
}
Produsul a * b: Valorile initiale ale variabilelor: a = 2; b = 7; Valoarea a^n = 14 |
1.1.6 Se dau numerele naturale a ,b. Sa se calculeze suma a + b:
using System;
namespace ex2
{
class Program
{
static void Main(string[] args)
{
int a = 3;
int b = 9;
int summ = 0;
Console.WriteLine("\t\t\t Suma a + b:");
Console.WriteLine(" Valorile initiale ale variabilelor: a = " + a +
"; b = " + b + ";");
while (a != 0){
a--;
while (b != 0) {
b--;
summ ++;
}
summ ++;
}
Console.WriteLine(" Valoarea a + b = " + summ);
Console.ReadKey(true);
}
}
}
Suma a + b: Valorile initiale ale variabilelor: a = 3; b = 9; Valoarea a + b = 12 |
1.1.7 Se dau numerele naturale a ,b. Sa se calculeze citul a / b si restul r la impartire cu d, fara a folosi /, %:
using System;
namespace ex2
{
class Program
{
static void Main(string[] args)
{
int a = 17;
int d = 9;
int rest = 0;
int count = 0;
Console.WriteLine("\t\t\t Citul a / b si restul r:");
Console.WriteLine(" Valorile initiale ale variabilelor: a = " + a +
"; b = " + d + ";");
do{
rest = a - d;
a = rest;
++count;
} while(rest > d);
Console.WriteLine(" Valoarea a / b = " + count);
Console.WriteLine(" Restul = " + rest);
Console.ReadKey(true);
}
}
}
Citul a / b si restul r: Valorile initiale ale variabilelor: a = 17; b = 9; Valoarea a / b = 1 Restul = 8 |
1.1.8 Se dau numarul natural n. Sa se calculeze n! (0! = 1, n! = n * (n-1)!)