首页 > 其他分享 >acm杭电2092-整数解

acm杭电2092-整数解

时间:2023-06-02 18:35:21浏览次数:32  
标签:No 56 整数 杭电 acm 等于 2092 Yes 乘起来



Problem Description


有二个整数,它们加起来等于某个整数,乘起来又等于另一个整数,它们到底是真还是假,也就是这种整数到底存不存在,实在有点吃不准,你能快速回答吗?看来只能通过编程。
例如:
x + y = 9,x * y = 15 ? 找不到这样的整数x和y
1+4=5,1*4=4,所以,加起来等于5,乘起来等于4的二个整数为1和4
7+(-8)=-1,7*(-8)=-56,所以,加起来等于-1,乘起来等于-56的二个整数为7和-8


 



Input


输入数据为成对出现的整数n,m(-10000<n,m<10000),它们分别表示整数的和与积,如果两者都为0,则输入结束。


 



Output


只需要对于每个n和m,输出“Yes”或者“No”,明确有还是没有这种整数就行了。


 



Sample Input


9 15 5 4 1 -56 0 0


 



Sample Output


No Yes


Yes





/********************************************************************************************


这个题可以转化成一个一元二次方程,只要存在根,且为整数,即可满足题意。


/******************


x + y = n


x * Y = m


/******************


两式子联立可得:x*x - n*x + m = 0



(即一个一元二次方程,当根x是整数是,即可满足题意,x是整数,y当然也成了整数)


1.先判断方程的根个数,令d = n*n -4*m


若d < 0 ,无解,直接输出No


若d >=0 ,有解,进而判断他的根是不是整数


2.用求根公式得出根。根 x1 = ( n + sqrt(d) )/ 2; x2 = ( n - sqrt(d) )/ 2;


判断x1,x2是不是整数。





/*********************************************************

代码如下:

/*********************************************************


#include<stdio.h>
#include<math.h>
int main()
{
    int n,m;
    double d;
    while(scanf("%d%d",&n,&m),n||m)
    {
        d=((double)(n*n-4*m));
        if(d<0)
        {
            puts("No");
        }
        else if(d==0)
        {
            if(n%2==0)  //根x = n / 2 ;只需要判断n的奇偶性,即可知道根是不是整数
            {
                puts("Yes");
            }
            else
            {
                puts("No");
            }
        }
        else
        {
            double u=(n+sqrt(d))/2.0; 
            double j=(n-sqrt(d))/2.0;
            if(u-(int)u==0&&j-(int)j==0)
            {
                puts("Yes");
            }
            else
            {
                puts("No");
            }
        }
    }
    return 0;
}


标签:No,56,整数,杭电,acm,等于,2092,Yes,乘起来
From: https://blog.51cto.com/u_16125110/6404538

相关文章

  • ACM-ICPC Nanjing Onsite 2018 - K(随机枚举+四维bfs)
    题目链接:https://nanti.jisuanke.com/t/33680 解题思路:随机两个袋鼠的位置,使得让他们相遇,那么这个操作就是一个四维的bfs,前两维代表第一只袋鼠的位置,后两维表示第二只袋鼠的位置。这样随机枚举最多是N*M次。所以时间复杂度最最最最坏情况也就O(N^3*M^3)。 #include<bits/stdc+......
  • 2018-2019 ACM-ICPC Southeastern European Regional Programming Contest (SEERC 201
    题目链接:https://vjudge.net/contest/339284#overview A.Numbers待做B.BrokenWatchs=input()s=s.split("")A,B,C,N=list(map(int,s))n=(N-1)//2ret=N*N*N-3*N*(n)*(n-1)-N-3*N*(N-1)ans=retmod=1<<64if(A==BandB==C):......
  • 用acme.sh给网站域名,申请免费SSL永久证书
    安装acme.sh1:在线安装方式curlhttps://get.acme.sh|[email protected]或者wget-0-https://get.acme.sh|[email protected]这里的-s参数指定的邮箱可以关联到已有的zeroSSL账号。关联成功后,通过acme.sh生成的zeroSSL证书会在zeroSSL网站的控......
  • 2018ACM浙江省赛 ZOJ 4029 Now Loading!!!(二分)
    NowLoading!!!TimeLimit: 1Second     MemoryLimit: 131072KBDreamGridhas  integers .DreamGridalsohas foragivennumber ,where , .InputTherearemultipletestcases.Thefirstlineofinputisaninteger Thefirstlinecon......
  • 洛阳师范学院ACM22级暑假前最后一次周测
    玩的开心B一个难pizzaHDU-1097HDU-1097正解是:枚举0-9每个数的次方循环0123456789100:100000000001:111111111112:124862486243:139713971394:146464646465:155555555556:16......
  • 2023年国际大学生程序设计竞赛(ACM-ICPC)新疆赛区 A.The Number Of Black Edges
    传送门大致题意:  爱丽丝得到一棵树,树上有n个节点,索引从1到n。树上的每条边可以是黑色或白色,所有的边最初都是白色的。有三种操作:1.将一条边的颜色改为黑色。2.将一条边的颜色改为白色。3.3.给定一个节点索引,计算从所有奇数节点到该节点的简单路径上的黑色边的数量之和。请......
  • 河北工业大学 ACM 集训队 2023 年夏季选拔 题解 12/12
    https://ac.nowcoder.com/acm/contest/59007A假设数字n有len位则小len的长度,每个都有九个方案。长度和len一样的,至少有n[0]-1种方案n[0]n[0]n[0]...的这个方案暴力地跑一遍看看是不是小于等于n即可#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;in......
  • acme.sh数据迁移
    acme.sh数据迁移1.1.安装脚本在新服务器安装acme.sh脚本工具curlhttps://get.acme.sh|sh#orwget-O-https://get.acme.sh|shll~/.acme.sh/aliasacme.sh=~/.acme.sh/acme.shll~/.acme.sh/1.2.打包备份acme.sh数据cd/root/ll-atar-zcvfacme.sh......
  • 2023春ACM组队训练1
    训练地址:训练一具体代码见提交B.明明的字符串可见abc242E求解小于等于一个字符串的回文串的个数就是有一个小小的区别,一个判断是小于等于,一个是小于 cin>>n>>k>>ss; rss=ss; lll=ss.size(),sum=0,len=l; l=(l-1)/2; for(inti=0;i<=l;++i){ rss[len-1-i]=rss[i]; s......
  • 使用Pandoc构建Acm模板
    使用Pandoc构建Acm模板下周日打完河南ICPC省赛就要退役了,以后一场比赛前想要整理一下板子,想要一个拥有目录,页眉。页脚的Acm模板,这样就可以在比赛的时候快速翻阅,而且要更加好看但是存在的问题是:很多构建Acm模板的时候会使用Latex进行构建,但是我使用了很多,要么是些许麻烦,也许是我......