< n; ++i) {...} 之外,还可以写 while (n-- > 0) {...} 和 while (--n >= 0) {...}{String[] s1 = reader.readLine().split(" ");int a0 = Integer.parseInt(s1[0]);int a1 = Integer.parseInt(s1[1]);int b0 = Integer.parseInt(s1[2]);int b1 = Integer.parseInt(s1[3]);int p=a0/a1,q=b1/b0,ans=0;int res = 0;for(int x=1;x*x<=b1;x++) {if(b1%x==0){//x是b1的一个因子 if(x%a1==0&&gcd(x/a1,p)==1&&gcd(q,b1/x)==1) res++;int y=b1/x;//y是另一个因子 if(y!=x &&y%a1==0&&gcd(y/a1,p)==1&&gcd(q,b1/y)==1) res++;}}System.out.println(res);}}}
注意:
用Math.sqrt(b1)会超时
【算法训练——Hankson的趣味题】从1遍历循环到b1也会超时
- 1 Python新手入门———条件判断
- C课设—图书管理系统
- 差值查找—Java实现
- 【课程设计】基于决策树算法的学生成绩分析
- 商机交易网——为站在风口的企业插上翅膀
- CAD图纸加密软件——公司核心文件数据防泄密「天锐绿盾」
- Android进阶——Sharedpreferences保存对象和图片等复杂类型
- 六 基于FreeRTOS与MQTT的物联网技术应用系列——步进电机控制基于Cr
- IDC发布AI训练数据市场分析最新报告
- 用渐变效果做小球转动——ps