Разложить натуральное число на простые множители - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: Дано натуральное число n. Разложить его на простые множители Я это задание реализовал так, но почему то не работает, просто не выводит результат на экран. помогите пожалуйста найти ошибку, заранее спасибо
#include <stdio.h>
#include <math.h>
main()
{
    double N, i, x;
    i=2;
    printf("Vvedite naturalnoe chislo");
    scanf ("%f", &N);
    while (N > 1)
    {
        x=fmod (N,i);
        if (x=0)
        {
        printf("%f", &i);
        N/=i;
        }
        else
        i+=1;
    }
    system("pause");
}

Решение задачи: «Разложить натуральное число на простые множители»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#include <cstdlib>
 
int main()
{
    int t,i=2;
    printf("Enter YOUR number:\n");
    scanf("%d",&t);
    
    printf("%d = ",t);
    
    while(i<=t)
    {
        if(t%i==0)
        {
            printf("%d",i);
            t=t/i;
            if(t>1)
                printf("*");
        }
        else
            i=i+1;      
    }
    return 0;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы с файлами и стандартными функциями
  2. Объявление переменных: t (входное число), i (переменная для цикла), buf (неизвестная нам переменная, возможно, для хранения результата разложения на множители)
  3. Вывод сообщения с просьбой ввести натуральное число
  4. Считывание входного числа с помощью функции scanf
  5. Вывод сообщения о начале разложения числа на множители с заданным числом
  6. Организация цикла по переменным i от 2 до t
  7. Проверка, делится ли t на i без остатка
  8. Если да, то выводится i (простой множитель), t делится на i и i увеличивается на 1
  9. Если нет, то i увеличивается на 1
  10. Цикл продолжается, пока i меньше или равно t
  11. Если t больше 1, то выводится символ * (для отмечения повторяющихся множителей)
  12. После окончания цикла выводится t (результат разложения на множители)
  13. Программа возвращает 0, что означает успешный конец работы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5
Похожие ответы