天天看點

zzulioj 2541: D學長 樂于助人

題目連結:http://acm.zzuli.edu.cn/problem.php?id=2541

2541: D學長 樂于助人

時間限制: 1 Sec  記憶體限制: 128 MB

送出: 686  解決: 100

[送出] [狀态] [讨論版] [命題人:admin]

題目描述

衆所周知,D學長十分樂于助人,其他人向D學長請教問題他都樂于解答。

某日,D學長收到了這樣一個問題:

給你兩個整數x和y(保證x>y)。你可以選擇任意一個素數p,然後用x減去p,可以減任意次數。可以使減去後的x等于y嗎?

(回想一下,素數是一個正整數,它正好有兩個正因子:1和這個整數本身。素數的序列從2,3,5,7,11開始。)

這個問題一下就把D學長難住了,聰明的ACMer,你能幫助他嗎?

輸入

輸入兩個整數,以空格隔開,分别表示 x, y, 1<=y<x<=10^18.

輸出

如果可以輸出 “YES”, 否則輸出 “NO”

樣例輸入 Copy

100 98
           

樣例輸出 Copy

YES
           

思路:

 本題是一個規律題,數字分為素數和非素數,除了1之外的所有非素數其實都是素數的倍數,是以隻需要判斷一下 x - y 的值是否是1就可以了。

代碼:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x, y;
    scanf("%d %d\n", &x, &y);
    
    if(x - y == 1)
        printf("NO\n");
    else
        printf("YES\n");
    return 0;
}
           

繼續閱讀