c语言编程经典习题详解1

1. 计算整数 n 的所有因子之和(不包括 1 与自身)

 

  • 定义:因子是指能够整除一个整数的数。对于给定整数n,找出除 1 和n本身之外的所有因子,并将它们相加。
  • 要点:使用for循环从 2 到n-1遍历,通过取模运算判断是否为因子。
  • 应用:在数论研究、密码学等领域有一定应用,例如判断一个数是否为完全数(所有真因子之和等于该数本身)。

c

#include <stdio.h>

int sumOfFactors(int n) {
    int sum = 0;
    for (int i = 2; i < n; i++) {
        if (n % i == 0) {
            sum += i;
        }
    }
    return sum;
}

int main() {
    int n = 12;
    int result = sumOfFactors(n);
    printf("整数 %d 的所有因子之和(不包括1与自身)为: %d\n", n, result);
    return 0;
}

 

2. 求大于 lim 且小于 100 的所有素数

 

  • 定义:素数是指一个大于 1 且除了 1 和它自身外,不能被其他自然数整除的数。找出大于lim且小于 100 的所有符合该定义的数。
  • 要点:使用双层for循环,外层循环遍历大于lim且小于 100 的数,内层循环判断是否为素数。
  • 应用:在密码学中,素数是生成密钥的重要基础;在数论研究中也经常用到素数的性质。

c

#include <stdio.h>

int isPrime(int num) {
    if (num < 2) return 0;
    for (int i = 2; i * i <= num; i++) {
        if (num % i == 0) return 0;
    }
    return 1;
}

void printPrimes(int lim) {
    for (int i = lim + 1; i < 100; i++) {
        if (isPrime(i)) {
            printf("%d ", i);
        }
    }
    printf("\n");
}

int main() {
    int lim = 20;
    printf("大于 %d 且小于100的所有素数为: ", lim);
    printPrimes(lim);
    return 0;
}

 

3. 求 1 到 w 之间的奇数之和

 

  • 定义:奇数是不能被 2 整除的整数。计算 1 到w之间所有奇数的总和。
  • 要点:使用for循环遍历 1 到w,通过取模运算判断是否为奇数并累加。
  • 应用:在数学计算、数据统计等领域有应用,例如统计奇数编号的数据总和。

c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值