欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-21 21:44:44
...

将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;
}

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

相关标签: c