第二章 循环结构程序设计(二)

关于取末或前几位数:

取末6位%6个0,取最末%1个0.

例如:121=1212%1000,23=123%100,3=23%10。

%的想法:你取几位数,它从后到前数几个数。

类比可得/的用法。


三角:

要计算只包含加法,减法和乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。

#include<stdio.h>
#include<time.h>
int main()
{
    const int MOD=1000000;
    int i,j,n,s=0;
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    {
        int f=1;
        for(j=i;j<=i;j++)
        f=f*j%MOD;
        s=(s+f)%MOD;
    }
    printf("%d\n",s);
    printf("Time used =%.2lf\n",(double)clock()/CLOCKS_PER_SEC);
    return 0;
}

可取之处:对于模运算的运用;对于“计时器”的运用。(但效率太慢)

注意:

CLOCKS_PER_SEC 与操作系统有关。

不要直接使用clock()的返回值,而应总是除以CLOCKS_PER_SEC,得到的值以秒为单位拟。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值