国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

acm杭電2092-整數解

2019-11-14 09:42:15
字體:
來源:轉載
供稿:網友

PRoblem Description有二個整數,它們加起來等于某個整數,乘起來又等于另一個整數,它們到底是真還是假,也就是這種整數到底存不存在,實在有點吃不準,你能快速回答嗎?看來只能通過編程。例如:x + y = 9,x * y = 15 ? 找不到這樣的整數x和y1+4=5,1*4=4,所以,加起來等于5,乘起來等于4的二個整數為1和47+(-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 155 41 -560 0 Sample Output
NoYesYes

/********************************************************************************************這個題可以轉化成一個一元二次方程,只要存在根,且為整數,即可滿足題意。/******************x + y = nx * 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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 饶平县| 东安县| 黄大仙区| 榆林市| 寿阳县| 怀仁县| 嵩明县| 门源| 通海县| 开江县| 楚雄市| 稷山县| 霍林郭勒市| 湾仔区| 西乌珠穆沁旗| 中阳县| 沭阳县| 安泽县| 龙州县| 顺义区| 洪雅县| 罗城| 灌阳县| 民乐县| 盐津县| 丹寨县| 昭苏县| 土默特左旗| 嘉善县| 凤山市| 博客| 林芝县| 叙永县| 安义县| 固安县| 广平县| 揭西县| 万年县| 株洲县| 水富县| 五大连池市|