XTU1377Factorization

题目描述

根据质因子唯一分解定理可知n=pk11pk22…pkmm,其中pi都是质数。我们定义f(n)=m, 求g(a,b)=∑bi=af(n)。

输入

第一行是一个整数T(1≤T≤1000),表示样例的个数。

以后每个样例占一行,为两个整数 a(2≤a≤b≤106)。

输出

依次每行输出一个样例的结果,为一个整数。

样例输入

2
2 2
2 10

样例输出

1
11

老规矩,先上代码

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

int ss[1000010];
void prime() {
	int i, j;
	for (i = 2; i <= 1000000; i++) 
	{
		if (!ss[i]) 
		{
			for (j = i + i; j<= 1000000; j += i) 
			{
				ss[j]++;//素数i的倍数都加1 
			}
			ss[i]=1;
		}//为求整数n是由多少个质因子相乘的,相当于是多少个质因子的倍数, 
	}
}
0
int main() {
	prime();
	int t,ans,a,b,i;
	scanf("%d", &t);
	while (t--) {
         ans=0;
         scanf("%d %d",&a,&b);
         for(i=a;i<=b;i++)
		 {
		 	ans+=ss[i];
		 }
		 printf("%d\n",ans);
	}
	return 0;
}

这题和之前的素数题没有多大区别,就是在套埃筛壳子的时候把题意的东西加进去就好,按照题意:m代表整数n由多少不同的质因子相乘,所以在筛的时候,筛到一个加上一次就好。

最后求和的时候把每一次的(a,b,)的f(i)加起来就好啦。

这篇纯纯水篇章,嘻嘻

不想复习了orz

卷不过他们

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值