C - Aladdin and the Flying Carpet(数论结论+思维)
这道题应该是我的反思题。
千万自己要注意,如果一个数n没有被完全分解,答案千万要记得ans*=2因为还有一个比1e6更大的素数存在作为他的因子!!
我明明找到了a的约数个数/2-a在b一下的约数个数==答案;
但是没看到题是不能是正方形wa惨了,为什么会有这个答案?其实多找几组就可以看出来,其实就是约数是对称的。
注意这里题上说b可能为边长,所以必须是从【1,b)中的a的约数个数!!!
#include<map>
#include<list>
#include<ctime>
#include<queue>
#include<deque>
#include<cmath>
#include<stack>
#include<string>
#include<cstdlib>
#include<cstring>
#include<sstream>
#include<fstream>
#include <iostream>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
//ll gcd(ll a,ll b){
// return b?gcd(b,a%b):a;
//}
//ll QP(ll x,ll n,ll Mod){
// ll res=1;
// while(n){
// if(n&1){
// res=(res*x)%Mod;
// }
// x=(x*x)%Mod;
// n>>=1;
// }
// return res;
//}
//素数筛选
const int N = 1e6 + 10;
int pri[600010], k;//k记录素数的个数,这里的素数是从下标为0开始的
bool Isprime[N];
void prime()
{k = 0;memset(Isprime, true, sizeof(Isprime));Isprime[1] = false;for(int i = 2 ; i < N ; i++){if(Isprime[i]){pri[k++] = i;for(int j = 2 ; i * j < N ;j++)Isprime[i * j] = false;}}
}
int main(){prime();ll n,a,b,g=1,cnt1,cnt2,ans1,ans;scanf("%lld",&n);while(n--){scanf("%lld %lld",&a,&b);ll t=a;if(b*b>=a){printf("Case %lld: %lld\n",g++,0);continue;}//求a的约数和b的约数个数ans1=1;for(int i=0;i<k&&pri[i]*pri[i]<=a;i++){cnt1=0;while(a%pri[i]==0){a/=pri[i];cnt1++;}ans1*=(cnt1+1);} if(a>1) ans1*=2;cnt2=0;for(int i=1;i<b;i++){//因为题上说b可能是最小边长,而不是确定了的,所以这里需要找b一下的a的约数 if(t%i==0) cnt2++;}ans=ans1/2-cnt2;printf("Case %lld: %lld\n",g++,ans);}return 0;
}
C - Aladdin and the Flying Carpet(数论结论+思维)相关推荐
- Aladdin and the Flying Carpet (素数打表+正整数的唯一分解定理,找因数对)
题目大意:给两个数a,b,求满足c*d==a且c>=b且d>=b的c,d二元组对数,(c,d)和(d,c)属于同一种情况 题目分析:根据唯一分解定理先将a唯一分解,则a的所有正约数的个数为 ...
- Aladdin and the Flying Carpet(唯一分解定理)
传送门 It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summon ...
- LightOJ - 1341 Aladdin and the Flying Carpet(数论)
题意 有一块矩形(也可能是正方形)的飞毯. 给定飞毯的面积\(n\)和最小可能的边长\(a\),求可能有多少种不同边长的飞毯.(\(1<=a<=n<=1e12\)) 如面积\(n=6 ...
- 【light 1341Aladdin and the Flying Carpet】
给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数. 肯定是和面积的因子有关系了,边长都是面积值的 因子. 那么就可以算出面积值得所有因子,因为是让求得矩形得个数,当然是要& ...
- 【CodeForces - 227C】Flying Saucer Segments (思维)
题干: An expedition group flew from planet ACM-1 to Earth in order to study the bipedal species (its r ...
- 【CodeForces - 357D】Xenia and Hamming (字符串问题,数论,思维)
题干: Xenia is an amateur programmer. Today on the IT lesson she learned about the Hamming distance. T ...
- 【ACM】kuangbin基础数论专题
知识补充:裴蜀定理 1.Bi-shoe and Phi-shoe 1.题意 给出一行数,求对应的数的欧拉函数值大于给出的数的数的最小和. 2.思路 我们知道素数表的欧拉函数值递增. 设素数a,b,b是 ...
- 紫薯第10章数学 kaungbin专题14数论基础
杂谈 kuangbin14数论Harmonic Number LightOJ - 1234 分段打表 + 欧拉爷爷o(1).(第一次触及了欧拉常熟) 10.1.1 && 10.1.2 ...
- 永远不可能学会的数论之基础数论(例题)
涉及到知识 1.普通筛选.埃拉托斯特尼筛选.欧拉筛选 Bi-shoe and Phi-shoe Bamboo Pole-vault is a massively popular sport in Xz ...
最新文章
- 匹配滤波器的物理解释
- 如何有效抵抗电脑辐射
- mysql db.opt+ (frm,MYD,MYI)备份与还原数据库
- eclipse color theme 主题颜色
- 关于StoneAge项目的敏捷
- 鸟哥的Linux私房菜(服务器)- 第十四章、账号控管: NIS 服务器
- hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动...
- codeforces 701 E. Connecting Universities(树+ 边的贡献)
- android 文本倒影,android案例---图片处理倒影效果
- 过椭圆外一点引两条切线方程_S16-2 二次曲线和圆方程
- 二叉树遍历的一些非递归算法
- MySQL5.5安装和navicat安装配置图解
- 消息钩子入门篇(4)---示例__外壳钩子(WH_SHELL)
- IAR MCS-51 v7.51A 软件注册机下载
- Comparable与Comparator的再学习与思考
- 数字性格分析测试软件,性格色彩测试(完全版)-蓝色分析
- [PHP]浅谈php混淆与反混淆
- 如何将自己的代码上传到github
- 让人喷饭的郭德纲语录
- 讼卦,帮助你处理好和上级的关系