Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.53 KB | None | 0 0
  1. Problema 4 :
  2. #include <stdio.h>
  3. #include <conio.h>
  4.  
  5. int cmmdc(int a, int b) {
  6. int r;
  7. r = a%b;
  8. while (r != 0) {
  9. a = b;
  10. b = r;
  11. r = a%b;
  12. }
  13. return b;
  14. }
  15.  
  16. void main() {
  17. int n, i, j;
  18.  
  19. printf("n=");
  20. scanf_s("%d", &n);
  21. while (n < 2) {
  22. printf("n trebuie sa fie mai mare ca 1: ");
  23. scanf_s("%d", &n);
  24. }
  25. printf("\nTabela de adunare din Z%d este:\n+ ", n);
  26. for (i = 0; i < n; i++)
  27. printf("%d ", i);
  28. printf("\n");
  29. for (i = 0; i < n; i++) {
  30. printf("%d ", i);
  31. for (j = 0; j < n; j++) {
  32. printf("%d ", (i + j) % n);
  33. }
  34. printf("\n");
  35. }
  36.  
  37. printf("\nTabela de inmultire din Z%d este:\n* ", n);
  38. for (i = 0; i < n; i++)
  39. printf("%d ", i);
  40. printf("\n");
  41. for (i = 0; i < n; i++) {
  42. printf("%d ", i);
  43. for (j = 0; j < n; j++) {
  44. printf("%d ", (i*j) % n);
  45. }
  46. printf("\n");
  47. }
  48.  
  49. printf("\nU(Z%d) = { ", n);
  50. for (i = 0; i < n; i++)
  51. if (cmmdc(i, n) == 1)
  52. printf("%d ", i);
  53. printf("}");
  54.  
  55. printf("\nD(Z%d) = { ", n);
  56. for (i = 0; i < n; i++)
  57. if (cmmdc(i, n) != 1)
  58. printf("%d ", i);
  59. printf("}");
  60.  
  61. int f = 2, produs = 1, el = n;
  62. while (n != 1) {
  63. if (n%f == 0)
  64. produs = produs*f;
  65. while (n%f == 0)
  66. n = n / f;
  67. f++;
  68. }
  69. printf("\nD(N%d) = { 0 ", el);
  70. int aux = 1;
  71. while (produs*aux < el) {
  72. printf("%d ", produs*aux);
  73. aux++;
  74. }
  75. printf("}");
  76. _getch();
  77. }
  78. Problema 3:
  79. #include <stdio.h>
  80. #include <conio.h>
  81. #include <math.h>
  82.  
  83. int cmmdc(int a, int b) {
  84. int r;
  85. r = a%b;
  86. while (r != 0) {
  87. a = b;
  88. b = r;
  89. r = a%b;
  90. }
  91. return b;
  92. }
  93.  
  94. int cmmmc(int a, int b) {
  95. return (a*b) / cmmdc(a, b);
  96. }
  97.  
  98. int prim(int a) {
  99. int ok = 1;
  100.  
  101. for (int d = 2; d <= sqrt(a); d++)
  102. if (a%d == 0)
  103. ok = 0;
  104. return ok;
  105. }
  106.  
  107. void main() {
  108. int n, d[100], nd, i, j;
  109.  
  110. printf("Introduceti n=");
  111. scanf_s("%d", &n);
  112. nd = 0;
  113. for (i = 1; i <= n; i++)
  114. if (n%i == 0)
  115. d[nd++] = i;
  116. printf("Divizorii lui %d sunt: ", n);
  117. for (i = 0; i < nd; i++)
  118. printf("%d ", d[i]);
  119.  
  120. printf("\nTabela corespunzatoare a^b este: \n");
  121. for (i = 0; i < nd; i++) {
  122. for (j = 0; j < nd; j++) {
  123. printf("%d ", cmmdc(d[i], d[j]));
  124. }
  125. printf("\n");
  126. }
  127.  
  128. printf("\nTabela corespunzatoare avb este: \n");
  129. for (i = 0; i < nd; i++) {
  130. for (j = 0; j < nd; j++) {
  131. printf("%d ", cmmmc(d[i], d[j]));
  132. }
  133. printf("\n");
  134. }
  135.  
  136. int ok = 1;
  137. for (i = 2; i <= sqrt(n); i++) {
  138. if ((prim(i)==1) && (cmmdc(n, i*i) != 1))
  139. ok = 0;
  140. }
  141. if (ok)
  142. printf("\n%d este liber de patrate.", n);
  143. else
  144. printf("\n%d nu este liber de patrate.", n);
  145. _getch();
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement