Prime factors
الدرس 7 من 20 في دورة ألغاز رياضية على Coddy.
تُسمى كتابة عدد كحاصل ضرب أعداد أولية بـ التحليل إلى عوامل أولية للعدد.
على سبيل المثال:
13195 = 5 * 7 * 13 * 29
تُسمى الحدود في حاصل الضرب بـ العوامل الأولية.
التحدي
سهلاكتب دالة calcPrimeFactors تستقبل رقماً (عدداً صحيحاً) وتعيد قائمة بالعوامل الأولية للرقم المعطى.
يجب أن تكون الأعداد الأولية في القائمة مرتبة من الأصغر إلى الأكبر!
جرّب بنفسك
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#include "solution.h"
int main() {
int n;
if (scanf("%d", &n) != 1) n = 0;
int rs = 0;
int* r = calcPrimeFactors(n, &rs);
for (int i = 0; i < rs; i++) {
if (i > 0) printf(" ");
printf("%d", r[i]);
}
printf("\n");
return 0;
}