用c语言实现100以内数的分解

博客主要讲述将100以内的数分解成质因数并输出,把100以内的数分为素数与合数,素数分解为1乘以本身,重点是对合数进行分解,还给出了示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将100以内的数分解成他们的质因数,然后输出。例如4=2*2。
可将100以内的数分为两部分,一部分素数,另一部分就是合数,而素数的分解就是1乘以他本身,所以需要做的就是对合数的分解。下面看示例代码。

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
    int pd, i, j,num = 2;
    int sushu[100] = { 0 };
    sushu[1] = 2;
    printf_s("素数分解:\n");
    //判断素数
    for (j = 3; j < 101; j++){
        pd = 0;
        for (i = 2; i < j; i++){
            if (j%i == 0){
                pd++;
            }
        }
     if(pd == 0){
            sushu[num] = j;
            num++;
        }

    }
    //素数分解输出
    for (i = 1; i < num; i++){
        printf_s("%2d = %2d * 1\t", sushu[i], sushu[i]);
        if (i % 5 == 0){
            printf_s("\n");
        }
    }
    printf_s("非素数分解:\n");
    int js = 0;
    i = 3;
    //非素数分解输出
    while (i<101){
        for (j = 1; j < num; j++){
            if (i == sushu[j]){
                i++;
            }
        }
        int h = i;
        //开始分解
        printf_s("%2d = ", i);
        while(h != 1){
            for (j = 1; j < num; j++){
                if (h%sushu[j] == 0){
                    printf_s("%2d ", sushu[j]);
                    h /= sushu[j];
                    if (h != 1){
                        printf_s("*");
                    }
                }
            }
        }
           if (js % 5 == 0){
               printf_s("\n");
           }
           i++;
    }
    getchar();
    getchar();
    return 0;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值