- , . , , . main ( ), , , .
( ) ( ), . . , , . , , , . , , , ..
- ( , ), ( ) .
, , , , , . .
rus, r unsigned char. , 1, , 0 .
int rus (unsigned char r)
{
if (r>='' && c<=' ')
return 1;
else
return 0;
}
, . main, , .
, () .
, , , , . , ,
int rus (unsigned char r); rus (unsigned char);
, , , .. , . , , #include. 1.
, , . . . , , , .
|
|
:
[< >] [< >] < >
([< >])
{< >}
, static extern. .
. , , int.
, , . , , .
, return, . , , , . return ( return), . , , void, . , , return , .
- , . - , . (,) (,...), , . , , , , . , .
, , void.
. . , , , , . , int.
|
|
register, int .
. , , .
, , . , int, .. char int. , , double.
, , . .
˗ , , .
, , auto, .. . . , , return . , , . , .
, . . , , . , .
/* */
void change (int x, int y)
{
int k=x;
x=y;
y=k;
}
/* */
void change (int *x, int *y)
{
int k=*x;
*x=*y;
*y=k;
}
,
change (&a,&b);
, , . () :
[< >] [< >] < > ([< >]) [,< >];
, , . , , , , . , . , , .
|
|
- , . .
, , . int, , .
, :
1. , int;
2. , .
, , , .
, , .
static, static. , extern.
:
< > ([< >])
, - ( ), .
, . , .
, , , . , .
:
1. . , , . , , . , . . , , , .
2. .
3. .
4. return , . return , .
, . , .
int (*fun)(int x, int *y);
fun : int int. int. , fun *, , fun int.
|
|
int *fun (intx,int *y);
fun :
(*fun)(i,&j);
, fun, *.
. , . , .
double (*fun1)(int x, int y);
double fun2(int k, int l);
fun1 = fun2; /* */
(*fun1)(2,7); /* */
fun1 , double, fun2. , .. , , , .
27. , cos(x) .
double proiz(double x, double dx, double (*f)(double x));
double fun(double z);
int main()
{
double x; /* */
double dx; /* */
double z; /* */
scanf("%f,%f",&x,&dx); /* x dx */
z=proiz(x,dx,fun); /* */
printf("%f",z); /* */
return 0;
}
double proiz(double x,double dx, double (*f)(double z))
{ /* */
double xk,xk1,pr;
xk=fun(x);
xk1=fun(x+dx);
pr=(xk1/xk-1e0)*xk/dx;
return pr;
}
double fun(double z)
{ /* */
return (cos(z));
}
- fun proiz . , cos(x) proiz
z=proiz(x,dx,cos);
sin(x)
z=proiz(x,dx,sin);
() , . , ( ) (), ( ), ( ). , , , , .. .
. , , , . , n = 0, 1, n=n, n+1.
, . f(n) , .. , .
. , , , .
, . , . , , ( -). , , , . , , , , .
|
|
, (.33):
int P(); { P; ; } | int P(); { ; P; } | int P(); { ; P; ; } |
.33.
28. .
.
X=23 , Y=34. :
F1 = Sum (X, Y) = X+Y = Sum (23, 34)= 23+34=57
X 1 , X=231=22.
F2 = Sum (X1,Y) = X1+Y = Sum (22,34)= 22+34=56=F1 1
, 1, 1. :
F2 = Sum (X1,Y) = (X1) + Y = (X+Y) 1= Sum (X,Y)1.
.. : Sum (X1,Y) = Sum (X,Y)1, :
Sum (X,Y) = Sum (X1,Y)+1.
.. X Y X 1 c Y 1.
( ). , X 1. ? , 0, .. . , .. Sum(0,Y) = Y.
, :
:
int SumXY (int x, int y)
{
if (x == 0) return(y);
else return(SumXY(x-1,y)+1);
}
() , , , :
29. :
int SumXY (int x, int y)
{
if (x == 0) return(y);
else return(SumXY(x-1,y)+1);
}
int SubXY (int x, int y)
{
if (y == 0) return(x);
else return(SubXY(x,y-1)-1);
}
int MultXY (int x, int y)
{
if (y == 1) return(x);
else return(MultXY(x,y-1)+x);
}
int DivXY (int x, int y)
{
if (x <= y) return(0);
else return(DivXY(x-y,y)+1);
}
int MODXY (int x, int y)
{
if (x < y) return(x);
else
if (x == y) return(0);
else return(MODXY(x-y,y));
}
int main()
{
int a,b;
printf(" A:\n");
scanf("%i",&a);
printf(" B:\n");
scanf("%i",&b);
printf(" A + B = %d", SumXY(a,b));
printf(" A - B = %d", SubXY(a,b));
printf(" A * B = %d", MultXY(a,b));
printf(" A / B = %d", DivXY(a,b));
printf(" A mod B = %d", MODXY(a,b));
}
30. () . "" ( 300 . ..). : m n 0 m>n. n=0, (m,n)=m; n≠0, m, n, r ( r m n) (m,n)=(n,r).
:
, (), : .
, . , , , 0.
:
int NODWhile (int m, int n)
{
int x;
while (n!= 0)
{
m = m % n;
x = m;
m = n;
n = x; // m n
}
return(m);
}
, , :
int NODWhile (int m, int n)
{
int x;
while (n!= 0)
{
m = m % n;
x =m;
m =n;
n =x; // m n
}
return(m);
}
int NOD (int m, int n)
{
if (n == 0) return(m);
else return(NOD(n,m % n));
}
int main()
{
int m,n;
printf(" \n");
scanf("%d", &m);
printf(" N\n");
scanf("%d", &n);
printf("n=%d m=%d NOD=%d\n", n, m, NOD(m,n));
printf("n=%d m=%d NODWhile=%d\n", n, m,NODWhile(m,n));
printf("n=%d m=%d NOK=%d\n", n, m, ceil(m*n/NOD(m,n)));
}
31. .
, N , , N!, 1 N , .. . N : .
: , 1, , . .. :
. , 1!=1, N!=(N-1)!×N. , :
, prelast, last , . :
1.
2. prelast = 1; last = 1;
3. n > 2, (n − 2) :
3.1. c = prelast + last;
3.2. prelast = last;
3.3. last = c;
4. last;
5.
:
. .
, ( ) .
.
int Fib (int n)
{
if ((n == 1) || (n == 2)) return(1);
else return(Fib(n-1)+Fib(n-2));
}
int FibCircle (int n)
{
int prelast,last,c,i;
if ((n == 1) || (n == 2)) return(1);
else
{
prelast = 1;
last = 1;
for(i=1;i<n-2;i++)
{
c = prelast + last;
prelast = last;
last = c;
}
}
return(last);
}
int FibBine (int n)
{
return(ceil(1/sqrt(5) * (pow((1+sqrt(5))/2,n) - pow((1-sqrt(5))/2,n))));
}
int Factorial (int n)
{
if (n == 1) return(1);
else return(Factorial(n-1)*n);
}
int FactorialNotRec (int n)
{
int i,f = 1;
for(i=1;i<n;i++)
{
f = f*i;
}
return(f);
}
int FactorialStirling (int n)
{
return(ceil(pow(n,n)*sqrt(2*M_PI*n)/exp(n)));
}
int _tmain(int argc, _TCHAR* argv[])
{
int i,n;
printf(" N:\n");
scanf("%d", &n);
for(i=1;i<n;i++)
{
printf("FibR[%d]\n", Fib(i));
printf("FibC[%d]\n", FibCircle(i));
printf("FibB[%d]\n", FibBine(i));
}
printf("Recurs: %d! = %d\n", n, Factorial(n));
printf("Circle: %d! = %d\n", FactorialNotRec(n));
printf("Stirling: %d! = %d\n", FactorialStirling(n));
system("pause");
}
, XXIII , : . , , , , . , , , . , , , . , , . . , , , : . . . ( ) , , . , .
:
1.
2.
3.
4.
, .