日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

C語言例題之輸出1000以內的所有完數_C 語言

作者:鑫宇_ ? 更新時間: 2022-12-23 編程語言

一個數如果恰好等于它的各個因子之和,這個數就稱為“完數”。例如,6的因子為1,2,3,而6=1+2+3,因此6是“完數”。編程找出1000之內的所有完數,并按下面的格式輸出其因子:

6 its factors are 1,2,3

#include "stdio.h"

void main() {
    int i, j, sum, k;
    for (i = 2; i <= 1000; i++) {
//        每判斷一個數時,將sum置為0
        sum = 0;
//        這個地方不寫“=”,排除這個數自身 真因子指的是除了自身以外的約數,完數概念中的“因子”是“真因子”
        for (j = 1; j < i; j++) {
//            如果能被整除,則j即為i的因子
            if (i % j == 0) {
//             將這個數的各個因子加起來
                sum += j;
            }

        }
//        說明這個數是完數,找到其因子并按照規定格式輸出即可
        if (sum == i) {
//            輸出前半部分 “x its factors are”
            printf("%d its factors are ", i);
//            輸出這個數的每一個因子
            for (k = 1; k < i; k++) {
                if (i % k == 0) {
                    printf("%d,", k);
                }
            }
//          光標退到最后一個逗號位置之上然后輸出空格使逗號消失
            printf("\b ");
//            換行
            printf("\n");

        }
    }
}

運行結果:

初學C語言,如有錯誤,還望指正,因考試需要,代碼運行環境為:

不同編譯器和不同版本C語言代碼略有不同。

附:1000以內所有完數,并打印出因子——C語言

完數(Perfect number),又稱完美數或完備數,是一些特殊的自然數。它所有的真因子(即除了自身以外的約數)的和(即因子函數),恰好等于它本身。如果一個數恰好等于它的因子之和,則稱該數為“完數”。

// 完數  真因子 
#include <stdio.h>

int main(){
	int i,j,k;
	printf("1000以內的所有完數:\n");
	for(i=1;i<=1000;i++){
		int sum=0;
		for(j=1;j<=i/2;j++){
			if(i%j == 0){
				sum += j; // 把所有的因子全部加起來 
			}	
		}
		if(sum == i){  // 加起來的因子和如果等于i,就是完數 
			printf("%d its factors are: ", i);
			for(k=1;k<=i/2;k++){
				if(i%k == 0){
					printf("%d, ", k);
				}	
			}
			printf("\n");
		}	
	}
	return 0;
} 

總結

原文鏈接:https://blog.csdn.net/slyzlh/article/details/111825244

欄目分類
最近更新