编程介的小学生
2018-12-08 08:06
采纳率: 92.6%
浏览 925
已采纳

一个数字取模运算的问题,用C语言怎么实现的呢?

Problem Description
Little Ruins is a studious boy, recently he learned math!

Now he defines f(k) equal the number of prime factors in k, and g(k)=2f(k), he want to know

∑i=1ng(i)

Please help him!

Input
First line contains an integer T, which indicates the number of test cases.

Every test case contains one line with one integer n.

Limits
1≤T≤50.
1≤n≤1012.

Output
For every test case, you should output 'Case #x: y', where x indicates the case number and counts from 1 and y is the result.

Because y could be very large, just mod it with 109+7.

Sample Input
3
1
10
100

Sample Output
Case #1: 1
Case #2: 23
Case #3: 359

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • threenewbee 2019-03-28 23:46
    已采纳
    已采纳该答案
    打赏 评论
  • qq_43444531 2018-12-08 11:13

    取模运算:a % p(或a mod p),表示a除以p的余数。

    比如给定一个正整数p,任意一个整数n,一定存在等式 :n = kp + r ;其中 k、r 是整数,且 0 ≤ r < p,则称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数。

    取模运算的规则如下:

    1、(a + b) % p = (a % p + b % p) % p 。

    2、(a - b) % p = (a % p - b % p) % p 。

    3、(a * b) % p = (a % p * b % p) % p 。

    4、a ^ b % p = ((a % p)^b) % p 。

    扩展资料:

    取模运算在c语言中的应用范围:

    1、判别奇偶数

    奇偶数的判别是模运算最基本的应用,也非常简单。已知一个整数n对2取模,如果余数为0,则表示n为偶数,否则n为奇数。

    2、判别素数

    一个数,如果只有1和它本身两个因数,这样的数叫做质数(或素数)。例如 2,3,5,7 是质数,而 4,6,8,9 则不是,后者称为合成数或合数。用不比该自然数的平方根大的正整数去除这个自然数,若该自然数能被整除,则说明其非素数。

    3、求最大公约数

    求最大公约数最常见的方法是欧几里德算法(又称辗转相除法),其计算原理依赖于定理:gcd(a,b) = gcd(b,a mod b)

    打赏 评论

相关推荐 更多相似问题