В C есть несколько способов разложить число на множители. Один из самых простых и эффективных способов - это использование метода перебора делителей числа.
Прежде всего, нам нужно создать функцию, которая будет разлагать число на множители. Например, назовем эту функцию "prime_factorization". Вот код для такой функции:
#include <stdio.h> void prime_factorization(int n) { int i; printf("Prime factorization of %d is: ", n); // Перебираем все числа от 2 до n for(i = 2; i <= n; i++) { // Проверяем, является ли i делителем числа n while(n % i == 0) { printf("%d ", i); n /= i; } } printf("n"); } int main() { int num; printf("Enter a number: "); scanf("%d", &num); prime_factorization(num); return 0; }
Давайте разберем этот код по шагам:
- Объявляем функцию "prime_factorization", которая принимает на вход один аргумент - число "n".
- Внутри функции объявляем переменную "i", которая будет использоваться для перебора делителей числа "n".
- Выводим начальное сообщение с информацией о разложении на множители числа "n".
- Используем цикл "for" для перебора всех чисел от 2 до "n".
- Внутри цикла проверяем, является ли "i" делителем числа "n". Если да, то продолжаем делить "n" на "i" до тех пор, пока "n" не будет стать нечетным числом.
- После окончания цикла выводим переборделители числа "n".
- Вводим число "num" в функции "main".
- Вызываем функцию "prime_factorization", передавая число "num" в качестве аргумента.
- Возвращаем 0 из функции "main" для завершения программы.
После запуска программы вам будет предложено ввести число. После ввода программа разложит число на множители и выведет их на экран.
Например, если вы введете число 60, программа выведет следующее:
Enter a number: 60 Prime factorization of 60 is: 2 2 3 5
Таким образом, программа разложит число 60 на множители: 2, 2, 3 и 5.