7-258 约数个数(函数实现)

任务描述

编写函数返回一个正整数的所有约数的个数。主函数输入若干整数,依次输出其约数个数,一个输出占一行,如果此数是素数,再输出:(Prime)。

输入样例:

100 101 1001

输出样例:

9
2 (Prime)
8

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

思路

  1. 在主函数中,使用 while 循环不断读入输入数据,直到读到文件末尾(EOF)为止。

  2. 定义一个函数 yueshu(int n),它的功能是计算正整数 n 的约数个数。

  3. 调用函数 yueshu(int n) 计算输入的正整数 n 的约数个数,存储在变量 t 中。

  4. 判断 t 的值是否为 2,如果是,说明 n 是素数,输出 "t (Prime)";否则,直接输出 t。

 代码

#include<stdio.h>

// 计算正整数 n 的约数个数
int yueshu(int n)
{
    int i,count=0;   // 定义变量 i 和计数器 count
    for(i=1;i<=n;i++) // 循环判断 1~n 中哪些数是 n 的约数
    {
        if(n%i==0)    // 如果 i 是 n 的约数,则计数器加 1。
            count++;
    } 
    return count;     // 返回约数个数
}

int main( )
{
    int n,t;          // 定义变量 n(输入数据)和 t(约数个数)
    while(scanf("%d",&n)!=EOF) // 不断读入输入数据,直到读到文件末尾为止
    {
        t=yueshu(n);          // 调用 yueshu 函数计算 n 的约数个数,返回结果存储在 t 中
        if(t==2)              // 判断 t 是否等于 2,如果是,说明 n 是素数
            printf("%d (Prime)\n",t);
        else                  // 否则,输出其约数个数
            printf("%d\n",t);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吾乃宇宙欠债王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值