Pagini recente » Cod sursa (job #2642958) | Cod sursa (job #660170) | Cod sursa (job #1216163) | Cod sursa (job #3271029) | Cod sursa (job #1788735)
#include <iostream> //Care numere se divid cu D de pe randul R
#include <fstream>
using namespace std;
ifstream f("pascal.in");
ofstream g("pascal.out");
/*
long long Putere(int n, int p)
{
//Calculeaza recursiv n la puterea p
if(p==0) return 1;
if(p==1) return n;
if(p%2==0) return Putere(n*n, p/2);
else return Putere(n*n, p/2)*n;
}*/
int R, D;
void Citire()
{
f>>R>>D;
}
void Afisare(int a[][100], int n)
{
//Afiseaza matricea a[][] cu n elemente
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
void TriunghiPascal(int a[][100], int &n)
{
//Construieste si afiseaza triunghiul lui Pascal cu n randuri
//cin>>n;
n = R;
//Construim
for(int i = 0; i < n; i++)
for(int j = 0; j <= i; j++)
if(j==0)
a[i][j]=1;
else a[i][j]=a[i-1][j]+a[i-1][j-1];
//Afisam
for(int i = 0; i < n; i++)
{
for(int j = 0; j < i+1; j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
void RandDivizibil(int a[][100], int n, int R, int D)
{
//Cate elemente de pe randul R sunt divizibile cu D
int sum = 0;
R -= 1; //Triunghi indexat de la 0
for(int j = 0; j <= R/2; j++)
{
if(a[R][j]%D==0) sum += 1;
}
sum *= 2;
cout<<"Cate numere: "<<sum;
}
int main()
{
int a[1000][100]={0};
int k,t,n,nn,kk;
Citire();//Citim R si D
TriunghiPascal(a,n);//Construim triunghiul
RandDivizibil(a,n,R,D);
}