Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- /* run this program using the console pauser or add your own getch, system("pause") or input loop */
- int nod(int, int);
- int nok(int, int, int nod);
- int nokForN(int*, int);
- int nodForN(int*, int);
- int main(int argc, char *argv[]) {
- int n, i, j, k;
- int nodN, nokN;
- AGAIN:
- printf("Enter number of numbers\n");
- i = scanf("%d", &n);
- if (i == 0){
- fflush(stdin);
- printf("Mistake!, try again\n");
- goto AGAIN;
- }
- int *mass;
- mass = (int *)malloc(n * sizeof(int));
- j = 0;
- k = 0;
- printf("Enter elements\n");
- while (j < n){
- fflush(stdin);
- if (k > 0) printf("Enter elements correctly!\n");
- for (i = 0; i < n; i++){
- j += scanf("%d", &mass[i]);
- }
- k++;
- }
- nodN = nodForN(mass, n);
- nokN = nokForN(mass, n);
- printf("NOD = %d\nNOK = %d\nPress y to try again\n", nodN, nokN);
- char y = getche();
- if (y == 'y')
- {
- printf("\n");
- goto AGAIN;
- }
- return 0;
- }
- int nod(int a, int b)
- {
- int temp;
- if (a%b == 0) return b;
- else return nod(b, a%b);
- }
- int nok(int a, int b, int nod)
- {
- return a*b/nod;
- }
- int nodForN(int *mass, int n)
- {
- int i;
- int nodd = nod(mass[0], mass[1]);
- if (n == 2) return nodd;
- for (i = 2; i < n; ++i)
- {
- nodd = nod(nodd, mass[i]);
- }
- return nodd;
- }
- int nokForN(int *mass, int n)
- {
- int i;
- int nokk = nok(mass[0], mass[1], nod(mass[0], mass[1]));
- for (i = 2; i < n; ++i)
- {
- nokk = nok(nokk, mass[i], nod(nokk, mass[i]));
- }
- return nokk;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement