0
点赞
收藏
分享

微信扫一扫

实验05多重循环---7-10 质因子分解

本题目要求读入一个大于1的整数,编程将其分解成若干个质因子(素数因子)积的形式。

输入格式:
大于1的整数一个。

输出格式:
将输入的正整数分解成若干个质因子积的形式,质因子的出现顺序按从小到大排列。如:40=222*5;如果整数本身为质数或素数,直接输出,如:13=13。

输入样例:
12480 输出样例:
12480=2*2*2*2*2*2*3*5*13

//自己写的
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    int i, n;
    scanf("%d", &n);
    for (i = 2; i <= n; i++)
    {
        if (n % i == 0)
        {
            printf("%d=%d", n, i);
            n = n / i;
            for (i = 2; i <= n; ++i)
            {
                if (n % i == 0)
                {
                    printf("*%d", i);
                    n = n / i;
                    i = 1;
                }
            }
            return 0;
        }
    }
    printf("%d=%d", n, n);
    return 0;
}

老师写的

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int n,count=0;
    scanf("%d", &n);
    printf("%d",n);
    while(n!=1)
    {
        int i=2;
        while(i<=n)
        {
            if(n%i==0)
            {
                count++;
                if(count==1)
                {
                    printf("=%d", i);
                }
                else
                {
                  printf("*%d",i);
                }
                n=n/i;
                break;
            }
            i++;
        }
    }
    return 0;
}
举报

相关推荐

0 条评论