1225 余数之和

找规律。。。边界要特殊考虑。。。

#include<bits/stdc++.h>
using namespace std;

const long long mod=1e9+7;

long long multimod(long long x,long long y,long long mod)
{
	long long ret=0;
	while(y)
	{
		if(y&1)
			ret=(ret+x)%mod;
		x=(x<<1)%mod;
		y>>=1;
	}
	return ret;
}

int main()
{
	long long n,ans,sq,i,inv2=500000004;
	while(~scanf("%lld",&n))
	{
		sq=sqrt(n);
		ans=multimod(n,n,mod);
		for(i=1;i<=sq;i++)
		{
			if(n/i==sq)
			{
				ans=((ans-sq*sq)%mod+mod)%mod;
				continue;
			}
			ans=((ans-multimod(n/i,i,mod))%mod+mod)%mod;
			ans=((ans-multimod(multimod(i,multimod((n/i+n/(i+1)+1)%mod,(n/i-n/(i+1))%mod,mod),mod),inv2,mod))%mod+mod)%mod;
		}
		printf("%lld\n",ans);
	}
}


### Matlab 中计算除法的余数和商 在 MATLAB 中可以利用 `mod()` 和 `rem()` 函数来获取两个数值相除后的余数。对于商而言,可以通过简单的除法操作或是结合取整函数得到。 当处理正数时,`b = mod(a,m)` 返回的是 a 除以 m 的非负余数[^1]。而 `r = rem(a,b)` 则返回 a 除以 b 后的余数,其符号与被除数相同。需要注意的是,在某些情况下两者的结果可能不同,这取决于输入值的具体情况以及它们之间的关系[^2]。 为了获得两数相除所得之商,可以直接执行除法运算并应用不同的取整方式: - 使用 `fix(a/b)` 可取得向零方向舍入的商; - 若希望向下取整则采用 `floor(a/b)`; - 对于向上取整的情况适用 `ceil(a/b)`; - 若要四舍五入到最接近的整数,则可选用 `round(a/b)`。 下面给出一段示例代码用于展示如何同时求得给定一对数字间的商及其对应的余数: ```matlab % 定义变量 dividend = 26; divisor = 7; % 计算商 quotient_fix = fix(dividend / divisor); quotient_floor = floor(dividend / divisor); quotient_ceil = ceil(dividend / divisor); quotient_round = round(dividend / divisor); % 计算余数 remainder_mod = mod(dividend, divisor); remainder_rem = rem(dividend, divisor); disp(['Quotient (towards zero): ', num2str(quotient_fix)]); disp(['Quotient (downward): ', num2str(quotient_floor)]); disp(['Quotient (upward): ', num2str(quotient_ceil)]); disp(['Quotient (rounded): ', num2str(quotient_round)]); disp(['Remainder using mod(): ', num2str(remainder_mod)]); disp(['Remainder using rem(): ', num2str(remainder_rem)]); ``` 上述代码片段展示了多种可能性下的商和两种方法得出的不同形式的余数。通过调整 dividend 和 divisor 的值,可以根据实际需求测试其他例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值