Varianta 24 bacalaureat informatica 2007

Cerinte si rezolvari

{pdf=pdf/bacalaureat2007/varianta_024.pdf|600|600}

1)

#include<iostream.h>
#include<math.h>
int n,i,a[100];

void citire()
{
cin>>n;

for(i=1;i<=ceil((float)n/2);i++)
a[i]=2*i-1;
for(i=n;i>ceil((float)n/2);i--)
a[i]=2*(n-i)+2;

}
void main()
{
citire();
for(i=1;i<=n;i++)
cout<<a[i]<<" ";
}
2)
#include<fstream.h>
#include<string.h>
ifstream f("bac.txt");
char c[2000];
int a[11];
void citire()
{
f>>c;
}
void fct2()
{
for(int i=0;i<strlen(c);i++)
a[c[i]-'0']++;
for(i=9;i>=0;i--)
for(int j=1;j<=a[i];j++)
cout<<i;
}
void main()
{
citire();
fct2();
}
3)
#include<iostream.h>
#include<math.h>
int n,j,k,a,b;
int prim(int x)
{
if(x==1 || x==0)
return 0;
else
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
}
void nrdiv(int n,int &d1,int &d2)
{
for(k=2;k<=n;k++)
if(n%k==0)
{
d1=k;
k=n+1;
}
for(j=n;j>=2;j--)
if(n%j==0 && prim(j))
{
d2=j;
j=1;
}

}
void main()
{
cin>>a>>b;
int d1=0,d2=0;
for(int i=a;i<=b;i++)
{
nrdiv(i,d1,d2);
int x1=log10(d1);
int x2=log10(d2);
if(x1 == x2 && x2 == 1)
cout<<i<<" ";
}

}