簡體   English   中英

需要在不使用數組的情況下找到第二大因子數

[英]need to find second largest factor number without using array

我正在尋找因子數,但我不認為 integer 本身是除 1 之外的因子:

    int factor (int num) {
        int result;
        for (int i = 1; i < num/2; i++) {   
            if (num % i == 0) {
                result = i;
            }
            return result ;
        }

您的代碼已經基本完成。 您需要在循環之后獲取return result

int factor (int num) {
    int result = 0;
    for (int i = 1; i < num/2; i++) {   
        if (num % i == 0) {
            result = i;
        }
    }
    return result;
}

因為你有i < num/2你永遠不會考慮最大的因素。 它緊隨第二大。 這就是你的返回值。

現場測試在線gdb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM