3531:判斷整除
總時間限制:
1000ms
記憶體限制:
65536kb
描述
乙個給定的正整數序列,在每個數之前都插入+號或-號後計算它們的和。比如序列:1、2、4共有8種可能的序列:
(+1) + (+2) + (+4) = 7
(+1) + (+2) + (-4) = -1
(+1) + (-2) + (+4) = 3
(+1) + (-2) + (-4) = -5
(-1) + (+2) + (+4) = 5
(-1) + (+2) + (-4) = -3
(-1) + (-2) + (+4) = 1
(-1) + (-2) + (-4) = -7
所有結果中至少有乙個可被整數k整除,我們則稱此正整數序列可被k整除。例如上述序列可以被3、5、7整除,而不能被2、4、6、8……整除。注意:0、-3、-6、-9……都可以認為是3的倍數。
輸入
輸入的第一行包含兩個數:n(2 < n < 10000)和k(2 <
k< 100),其中n代表一共有n個數,k代表被除數。第二行給出序列中的n個整數,這些整數的取值範圍都0到10000之間(可能重複)。
輸出
如果此正整數序列可被k整除,則輸出yes,否則輸出no。(注意:都是大寫字母)
樣例輸入
3 21 2 4
樣例輸出
no
/*f(i,j)表示前i個數的和能否%k餘j
f(i,j)可以由兩種情況求得(只有加減):
前i-1個數的和+a[i]:
f(i-1,(k+j-a[i]%k)%k)
前i-1個數的和-a[i]:
f(i-1,(k+j+a[i]%k)%k)
*/#include
#define ref(i,x,y) for(int i=x;i<=y;i++)
using
namespace
std;
int n,k,a[10100
];bool f[10100][110
];int
main()
OpenJudge 3531 判斷整除
總時間限制 1000ms 記憶體限制 65536kb 描述 乙個給定的正整數序列,在每個數之前都插入 號或 號後計算它們的和。比如序列 1 2 4共有8種可能的序列 1 2 4 7 1 2 4 1 1 2 4 3 1 2 4 5 1 2 4 5 1 2 4 3 1 2 4 1 1 2 4 7 所有結...
3531 判斷整除(2 6基本演算法之動態規劃)
總時間限制 1000ms 記憶體限制 65536kb 描述 乙個給定的正整數序列,在每個數之前都插入 號或 號後計算它們的和。比如序列 1 2 4共有8種可能的序列 1 2 4 7 1 2 4 1 1 2 4 3 1 2 4 5 1 2 4 5 1 2 4 3 1 2 4 1 1 2 4 7 所有結...
VB判斷整除並整除
private sub command1 click dim m as integer,n as integer,d as integer dim s as long 儲存結果 m val text1.text n val text2.text d val text3.text s 0 sum m,...