LightOJ - 1341唯一分解定理
唯一分解定理
先分解面积,然后除2,再减去面积%长度==0的情况,注意毯子不能是正方形
#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<stack>
#include<vector>
#include<cstdio>
#include<cassert>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1
#pragma comment(linker, "/STACK:1024000000,1024000000") using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; bool vis[N];
ll prime[N],cnt;
void getprime()
{
cnt=;
memset(vis,,sizeof vis);
for(int i=;i<N;i++)
{
if(!vis[i])
{
prime[cnt++]=i;
for(int j=*i;j<N;j+=i)
vis[j]=;
}
}
}
ll getnum(ll x)
{
if(x==)return ;
ll ans=;
for(ll i=; i<cnt&&prime[i]*prime[i]<=x; i++)
{
ll k=;
while(x%prime[i]==){
x/=prime[i];
k++;
}
ans*=k;
}
if(x!=)ans*=;
ans/=;
return ans;
}
int main()
{
/* ios::sync_with_stdio(false);
cin.tie(0);*/
getprime();
int t,cnt=;
scanf("%d",&t);
while(t--){
ll a,b;
scanf("%lld%lld",&a,&b);
if(b*b>=a)
{
printf("Case %d: %lld\n",++cnt,);
continue;
}
ll ans=getnum(a);
for(ll i=;i<b;i++)
if(a%i==)
ans--;
printf("Case %d: %lld\n",++cnt,ans);
}
return ;
}
/*********************
2
10 2
12 2
*********************/
LightOJ - 1341唯一分解定理的更多相关文章
- LightOJ 1341 唯一分解定理
Aladdin and the Flying Carpet Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%lld &a ...
- Aladdin and the Flying Carpet LightOJ 1341 唯一分解定理
题意:给出a,b,问有多少种长方形满足面积为a,最短边>=b? 首先简单讲一下唯一分解定理. 唯一分解定理:任何一个自然数N,都可以满足:,pi是质数. 且N的正因子个数为(1+a1)*(1+a ...
- LightOJ - 1236 (唯一分解定理)
题意:求有多少对数对(i,j)满足lcm(i,j) = n,1<=i<=j, 1<=n<=1e14. 分析:根据整数的唯一分解定理,n可以分解为(p1^e1)*(p2^e2)* ...
- lightoj 1220 唯一分解定理
#include<bits/stdc++.h> using namespace std; #define maxn 1000005 #define ll long long int v[m ...
- LightOJ 1341 - Aladdin and the Flying Carpet (唯一分解定理 + 素数筛选)
http://lightoj.com/volume_showproblem.php?problem=1341 Aladdin and the Flying Carpet Time Limit:3000 ...
- LightOJ 1341 Aladdin and the Flying Carpet(唯一分解定理)
http://lightoj.com/volume_showproblem.php?problem=1341 题意:给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数. 思路 ...
- LightOJ - 1341 Aladdin and the Flying Carpet 唯一分解定理LightOJ 1220Mysterious Bacteria
题意: ttt 组数据,第一个给定飞毯的面积为 sss,第二个是毯子的最短的边的长度大于等于这个数,毯子是矩形但不是正方形. 思路: 求出 sss 的所有因子,因为不可能是矩形,所以可以除以 222, ...
- 1341 - Aladdin and the Flying Carpet ---light oj (唯一分解定理+素数筛选)
http://lightoj.com/volume_showproblem.php?problem=1341 题目大意: 给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数. ...
- lightoj 1236 正整数唯一分解定理
A - (例题)整数分解 Crawling in process... Crawling failed Time Limit:2000MS Memory Limit:32768KB 6 ...
随机推荐
- reload函数
reload函数 python2中reload()是内置函数,可以直接调用: reload() python3中将reload()函数放到了imp包中,需要先引入imp包: from imp impo ...
- FORM pdf预览功能函数 SSFCOMP_PDF_PREVIEW
函数模块 SSFCOMP_PDF_PREVIEW Smart Forms: PDF Preview (Test) function ssfcomp_pdf_preview. ...
- mysql第一天作业
1.在一个数据库中创建学生表,要求字段id,姓名,年纪三个字段:要求id为主键 2.在学生表添加一个班级字段,字符串类型,非空约束 3.将姓名字段改为唯一约束 4.将学生表名改为stu
- mybatis 插入之后返回id
usermapper.xml <insert id="insert" parameterType="app.models.User" keyPropert ...
- PAT 天梯赛 L1-021. 重要的话说三遍 【水】
题目链接 https://www.patest.cn/contests/gplt/L1-021 AC代码 #include <iostream> #include <cstdio&g ...
- Hadoop创始人Doug Cutting寄语2017:五种让开源项目成功的方法
原文链接:http://www.infoq.com/cn/news/2017/01/Hadoop-2017-5-open-source?utm_source=tuicool&utm_mediu ...
- javascript 中的比较大小,兼 typeof()用法
javascript中的排序: 1.不同类型 比 类型 (字符串 > 数字) 2.同类型:(字符串 比 按字母顺序 )(数字 比 大小) 测试: <!DOCTYPE html> ...
- JSP与Servlet之后台页面单条删除与多条删除的页面跳转之实现
单条删除页面跳转 1.首先打开JSP页面,找到删除 2.这个时候要把它改成servlet的URL,并决定要传给后台什么数据,例如我需要传一个待删数据的ID id并不是什么见不得人的东西(而且是后台也不 ...
- golang解析json报错:invalid character '\x00' after top-level value
golang解析json报错:invalid character '\x00' after top-level value 手动复制字符串:{"files":["c:/t ...
- 20145201 《Java程序设计》第六周学习总结
20145201 <Java程序设计>第六周学习总结 教材学习内容总结 本周学习了课本第十.十一章内容,即输入/输出.线程与并行API. 第十章 输入输出 10.1 InputStream ...