全部代码

求解因数和最小

来复习一下while循环

code 求解因数和最小.c
//初中数学忘完了,我开始是想着写找最大公因数的
//结果写差不多了发现这个压根就不是算最大公因数
//然后研究了一下,发现自己写的这个东西叫因数和最小
#include <stdio.h>

int main()
{
    int input;
    printf("请输入一个整数:\n");
    scanf("%d", &input);

    if (input <= 1) {
        printf("兄弟你有点无聊\n");
        return 0;
    }

    int outa = 1;
    int outb = input;
    int outsum = input + 1;

    int a = 1;
    while (a * a <= input) {
        if (input % a == 0) {
            int b = input / a;
            int sum = a + b;
            if (sum < outsum) {
                outsum = sum;
                outa = a;
                outb = b;
            }
        }
        a++;
    }

    printf("乘积为 %d 且和最小的两个因数是:%d 和 %d,它们的和是 %d\n",
           input,outa, outb, outsum);

    return 0;
}