Varianta 30 bacalaureat informatica 2007

Cerinte si rezolvari


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


Rezolvari probleme

1)
#include<fstream.h>
ofstream g("bac.txt");
int a[101][101],i,j,n;
void fct()
{
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i<j)
a[i][j]=0;
else
if(i==j)
a[i][j]=1;
else
a[i][j]=a[i-1][j]+1;
}
void afis()
{
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
}
void main()
{
cin>>n;
fct();
afis();
}
2)
#include<iostream.h>
#include<math.h>
int prim(int x)
{
if(x==1)
return 0;
else
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0)
return 0;
}
return 1;
}

void divizor(long n,long &d,int &p)
{
int min=n;
for(int i=2;i<=sqrt(n);i++)
if(n%i==0)
if(i<min)
min=i;
p=0;
while(n%min==0)
{
p++;
n/=min;
}
d=min;
}

void main()
{
long n,x;
long div=0;
int p=0;
cin>>n>>x;
divizor(n,div,p);
if(div==2 && p==x)
cout<<"DA";
else
cout<<"NU";

}
3)
#include<iostream.h>
void main()
{ int n;
cin>>n;
int c=n/9;
int r=n%9;
if(r==0)
{
c=c-1;
r=9;
}
for(int i=1;i<=c+2;i++)
cout<<r;
}