Advertisement
Guest User

Untitled

a guest
Nov 28th, 2014
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. /**Se citeste de la tastatura un numar natural X.
  2. Sa se construiasca toate matricele patratice cu valori in multimea
  3. cifrelor lui X, care au proprietatea
  4. ca pe fiecare linie elementele sa fie distincte, iar suma valorilor
  5. de pe fiecare coloana
  6. este un numar cu numar par de divizori.
  7. */
  8. #include <iostream>
  9. #include <fstream>
  10.  
  11. using namespace std;
  12. int x,n;
  13. int a[100][100];
  14. ofstream fout("date.out");
  15. void afisare()
  16. {
  17. for(int i=1;i<=n;i++)
  18. {
  19. for(int j=1;j<=n;j++)
  20. fout<<a[i][j];
  21. fout<<endl;
  22. }
  23. fout<<endl;
  24. }
  25. int p_c(int x)
  26. {
  27. if(x<10)
  28. return x;
  29. return (x/10);
  30. }
  31. int nr_div(int x)
  32. {
  33. int nr=0;
  34. for(int d=1;d*d<x;d++)
  35. {if(x%d==0)
  36. nr+=2;
  37. if(d*d==x)
  38. nr++;
  39. }
  40. return nr;
  41. }
  42. void back(int l,int c,int S)
  43. {
  44. if(l==n+1)
  45. afisare();
  46. else
  47. if(c==n+1&&nr_div(S)%2==0)
  48. back(l+1,0,S);
  49. else
  50. for(a[l][c]=p_c(x);a[l][c]<=x%10;a[l][c]++)
  51. back(l,c+1,S+a[l][c]);
  52. }
  53. int main()
  54. {
  55. cin>>x>>n;
  56. back(1,1,0);
  57. return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement