1. Sa se afiseze elementele prime aflate pe diagonala principala a unei matrice.
2. Sa se afiseze suma elementelor perfecte aflate pe diagonala secundara a unei matrice.
Robert14:
Ce este un element perfect?
Răspunsuri la întrebare
Răspuns de
0
Problema 1:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[100][100], m;
cin >> m;
for (int i=0; i<m; i++)
for (int j=0; j<m; j++)
{
cin >> a[i][j];
if (i==j)
{
int OK=1;
if (a[i][j]<2) OK = 0;
if (a[i][j]!=2)
for (int k=2; k<=sqrt(a[i][j]) && OK; k++)
if (a[i][j]%k==0) OK=0;
if (OK) cout << a[i][j] << " ";
}
}
return 0;
}
Problema 2 (banuiesc ca prin element perfect te-ai referit la element patrat perfect):
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[100][100], m;
cin >> m;
for (int i=0; i<m; i++)
for (int j=0; j<m; j++)
{
cin >> a[i][j];
if (i+j==m-1 && sqrt(a[i][j])*sqrt(a[i][j])==a[i][j])
cout << a[i][j];
}
return 0;
}
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[100][100], m;
cin >> m;
for (int i=0; i<m; i++)
for (int j=0; j<m; j++)
{
cin >> a[i][j];
if (i==j)
{
int OK=1;
if (a[i][j]<2) OK = 0;
if (a[i][j]!=2)
for (int k=2; k<=sqrt(a[i][j]) && OK; k++)
if (a[i][j]%k==0) OK=0;
if (OK) cout << a[i][j] << " ";
}
}
return 0;
}
Problema 2 (banuiesc ca prin element perfect te-ai referit la element patrat perfect):
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a[100][100], m;
cin >> m;
for (int i=0; i<m; i++)
for (int j=0; j<m; j++)
{
cin >> a[i][j];
if (i+j==m-1 && sqrt(a[i][j])*sqrt(a[i][j])==a[i][j])
cout << a[i][j];
}
return 0;
}
Răspuns de
0
1)
#include <iostream>
using namespace std;
int v[100][100];
int main() {
int n, i, j;
cin >> n;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++) {
cin >> v[i][j];
if(i == j) {
int d = 2;
while( d * d <= v[i][j] && v[i][j] % d != 0)
d++;
if(d * d > v[i][j] && v[i][j] > 1)
cout << v[i][j] <<" ";
}
}
return 0;
2) Un numar perfect este un numar egal cu suma divizorilor sai din care se exclude numarul insusi.
#include <iostream>
using namespace std;
int v[100][100];
int main() {
int n, i, j, stot = 0, sdiv;
cin >> n;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++) {
cin >> v[i][j];
if(i + j == n - 1) {
int d = 2;
sdiv = 1;
while( d * d < v[i][j]) {
if(v[i][j] % d == 0) {
sdiv = sdiv + d;
sdiv = sdiv + v[i][j] / d;
}
d++;
}
if(d == v[i][j])
sdiv = sdiv + d;
if(sdiv == v[i][j])
stot = stot + sdiv;
}
}
cout << stot;
return 0;
}
}
#include <iostream>
using namespace std;
int v[100][100];
int main() {
int n, i, j;
cin >> n;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++) {
cin >> v[i][j];
if(i == j) {
int d = 2;
while( d * d <= v[i][j] && v[i][j] % d != 0)
d++;
if(d * d > v[i][j] && v[i][j] > 1)
cout << v[i][j] <<" ";
}
}
return 0;
2) Un numar perfect este un numar egal cu suma divizorilor sai din care se exclude numarul insusi.
#include <iostream>
using namespace std;
int v[100][100];
int main() {
int n, i, j, stot = 0, sdiv;
cin >> n;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++) {
cin >> v[i][j];
if(i + j == n - 1) {
int d = 2;
sdiv = 1;
while( d * d < v[i][j]) {
if(v[i][j] % d == 0) {
sdiv = sdiv + d;
sdiv = sdiv + v[i][j] / d;
}
d++;
}
if(d == v[i][j])
sdiv = sdiv + d;
if(sdiv == v[i][j])
stot = stot + sdiv;
}
}
cout << stot;
return 0;
}
}
Alte întrebări interesante
Geografie,
8 ani în urmă
Limba română,
8 ani în urmă
Biologie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă