首页 > 其他分享 >Hankson 的趣味题

Hankson 的趣味题

时间:2022-09-03 20:33:15浏览次数:63  
标签:gcd int a1 a0 b0 b1 趣味 Hankson

P1072 [NOIP2009 提高组] Hankson 的趣味题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

  • 由gcd(a0,x)=a1可以有gcd(a0/a1,x/a1)=1
  • 由lcm(b0,x)=b1又lcm(b0,x)*gcd(b0,x)=b0*x得gcd(b0,x)=b0*x/b1得到gcd(b1/x,b1/b0)=1
  • 根据推理有gcd(a0/a1,x/a1)=1,gcd(b1/x,b1/b0)=1
  • 计算:
    • 从1遍历到sqrt(b1),满足上面两个式子ans++
      • 同时要满足b1%i==0,还要考虑b1/i这个情况
// 2
// 41 1 96 288
// 95 1 37 1776
#include <bits/stdc++.h>
using namespace std;
#define N 1e5
#define INF 2e9
#define MAX 10000000
// https://www.luogu.com.cn/problem/P1072
int gcd(int a, int b)
{
    return b == 0 ? a : gcd(b, a % b);
}
int a0, a1, b0, b1;
int t;
int a01, b10;
int main()
{
    cin >> t;
    while (t--)
    {
        int ans = 0;
        scanf("%d%d%d%d", &a0, &a1, &b0, &b1);
        a01 = a0 / a1, b10 = b1 / b0;
        for (int i = 1; i <= sqrt(b1); i++)
        {
            if (b1 % i == 0)
            {
                int j = b1 / i;
                if (i % a1 == 0 && gcd(b10, b1 / i) == 1 && gcd(a01, i / a1) == 1)
                    ans++;
                if (i == j)
                    continue;
                if (j % a1 == 0 && gcd(b10, b1 / j) == 1 && gcd(a01, j / a1) == 1)
                    ans++;
            }
        }
        printf("%d\n", ans);
    }
}

 

标签:gcd,int,a1,a0,b0,b1,趣味,Hankson
From: https://www.cnblogs.com/Wang-Xianyi/p/16653575.html

相关文章

  • service+controller+dao(mapper)趣味解读
    service:服务层,你可以理解为服务员controller:控制层,你可以理解为厨师dao:数据持久层,你可以理解为除使用的你自己服务员就负责接待你和给厨师反馈是不是,你可以想一下,你去吃......
  • 汪子熙趣味成语接龙的游戏软件设计架构说明
    @目录背景战士阿短编程猫纸片初始化函数当开始被点击当收到广播“转盘停止”当收到广播“开始接龙”本作品采用Kitten编程猫v3.7.11开发而成。工程里主要包含一个背景......
  • 趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
    本文给出了一种解决方案,采用如下的kitten积木组合块实现。根据变量“检查接龙的返回值”,分别执行相应的逻辑。如果返回值为-1,说明用户输入的词语长度不为4.如果返回......
  • 汪子熙趣味成语接龙游戏的设计初衷
    我国的汉语博大精深,其中数以万计的四字成语更是汉语中一颗颗璀璨的明珠,凝聚着中华民族几千年文明的精华。从小接触这些成语,对于小学生积累语汇,提高文学素养,和学习文言文方......
  • 使用 Kitten 开发一款趣味成语接龙游戏
    每一轮接龙成功后,初始接龙和成功接龙的成语,都会显示在作品的接龙记录里,便于使用者学习和记忆。通过积分的方式,能激励用户开动脑筋,努力完成接龙。本作品极具智能和体贴性,如......
  • 汪子熙趣味接龙游戏实现里原创部分的亮点
    本作品使用Kitten编程猫这个具有国内自主知识产权的工具开发而成,工程里每一个积木的使用都是作者和原创。最值得一提的原创部分罗列如下:使用列表的数据结构来存储将近2......
  • 汪子熙趣味接龙游戏实现的参考资源
    参考资源(参考或引用他人资源及出处)本作品未引用或者复制其他kitten作品的工程文件或者源代码,只参考了Kitten编程猫源码编辑工具自带的帮助文档。该文档的入口:在编辑器右......
  • 汪子熙趣味成语接龙的游戏软件使用文档说明
    @目录趣味成语接龙使用手册如何在安卓手机上安装本应用趣味成语接龙使用手册作者提交的参赛作品是一个压缩包,里面包含的资源如下图所示。本手册以windows平台的.exe执......