这道题应该是我的反思题
千万自己要注意,如果一个数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(数论结论+思维)相关推荐

  1. Aladdin and the Flying Carpet (素数打表+正整数的唯一分解定理,找因数对)

    题目大意:给两个数a,b,求满足c*d==a且c>=b且d>=b的c,d二元组对数,(c,d)和(d,c)属于同一种情况 题目分析:根据唯一分解定理先将a唯一分解,则a的所有正约数的个数为 ...

  2. Aladdin and the Flying Carpet(唯一分解定理)

    传送门 It's said that Aladdin had to solve seven mysteries before getting the Magical Lamp which summon ...

  3. LightOJ - 1341 Aladdin and the Flying Carpet(数论)

    题意 有一块矩形(也可能是正方形)的飞毯. 给定飞毯的面积\(n\)和最小可能的边长\(a\),求可能有多少种不同边长的飞毯.(\(1<=a<=n<=1e12\)) 如面积\(n=6 ...

  4. 【light 1341Aladdin and the Flying Carpet】

    给你矩形的面积(矩形的边长都是正整数),让你求最小的边大于等于b的矩形的个数. 肯定是和面积的因子有关系了,边长都是面积值的 因子. 那么就可以算出面积值得所有因子,因为是让求得矩形得个数,当然是要& ...

  5. 【CodeForces - 227C】Flying Saucer Segments (思维)

    题干: An expedition group flew from planet ACM-1 to Earth in order to study the bipedal species (its r ...

  6. 【CodeForces - 357D】Xenia and Hamming (字符串问题,数论,思维)

    题干: Xenia is an amateur programmer. Today on the IT lesson she learned about the Hamming distance. T ...

  7. 【ACM】kuangbin基础数论专题

    知识补充:裴蜀定理 1.Bi-shoe and Phi-shoe 1.题意 给出一行数,求对应的数的欧拉函数值大于给出的数的数的最小和. 2.思路 我们知道素数表的欧拉函数值递增. 设素数a,b,b是 ...

  8. 紫薯第10章数学 kaungbin专题14数论基础

    杂谈 kuangbin14数论Harmonic Number LightOJ - 1234 分段打表 + 欧拉爷爷o(1).(第一次触及了欧拉常熟) 10.1.1 && 10.1.2 ...

  9. 永远不可能学会的数论之基础数论(例题)

    涉及到知识 1.普通筛选.埃拉托斯特尼筛选.欧拉筛选 Bi-shoe and Phi-shoe Bamboo Pole-vault is a massively popular sport in Xz ...

最新文章

  1. 匹配滤波器的物理解释
  2. 如何有效抵抗电脑辐射
  3. mysql db.opt+ (frm,MYD,MYI)备份与还原数据库
  4. eclipse color theme 主题颜色
  5. 关于StoneAge项目的敏捷
  6. 鸟哥的Linux私房菜(服务器)- 第十四章、账号控管: NIS 服务器
  7. hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动...
  8. codeforces 701 E. Connecting Universities(树+ 边的贡献)
  9. android 文本倒影,android案例---图片处理倒影效果
  10. 过椭圆外一点引两条切线方程_S16-2 二次曲线和圆方程
  11. 二叉树遍历的一些非递归算法
  12. MySQL5.5安装和navicat安装配置图解
  13. 消息钩子入门篇(4)---示例__外壳钩子(WH_SHELL)
  14. IAR MCS-51 v7.51A 软件注册机下载
  15. Comparable与Comparator的再学习与思考
  16. 数字性格分析测试软件,性格色彩测试(完全版)-蓝色分析
  17. [PHP]浅谈php混淆与反混淆
  18. 如何将自己的代码上传到github
  19. 让人喷饭的郭德纲语录
  20. 讼卦,帮助你处理好和上级的关系

热门文章

  1. 20150911新华医院听课内容
  2. mui与vue结合 功能网址
  3. div内鼠标坐标位置及绝对和相对坐标获取
  4. 只把握确定性机会 不折腾
  5. rtl8382m交换机开发环境搭建
  6. 使用Java语言深入理解程序逻辑——循环结构进阶
  7. 导航,头部,CSS基础.
  8. 磁共振T1、T2有啥区别
  9. 腾讯理财通2020年一季度资金保有量同比环比双增长
  10. 二叉树 中序非递归遍历算法 c++