C++在长度小于1000000的数组中找出任意两个数之和是k的倍数

C++在长度小于1000000的数组中找出任意两个数之和是k的倍数,第1张

/虚拍绝/一个新的

#include<iostream>

using namespace std

int main()

{

long *arr,i,n,k,len=0,sum=0

cin>>差姿n>>k

arr=new long[n]

cin>>arr[0]>>arr[1]

n-=2

len=2

if(0==(arr[0]+arr[1])%k)

{

sum=1

}

while(n-->贺此0)

{

cin>>arr[len++]

for(i=0i<len-1i++)

{

if(0==(arr[i]+arr[len-1])%k)

sum++

}

}

cout<<sum<<endl

delete [] arr

return 0

}

#include <stdio.h>

int main()

{

int m,n,i

int k=0

scanf("%d%d",&m,&歼颤n)

for(i=mi<=ni++)

{

if(i%12==0)

k++//12的倍数雹旦

}

printf("%d",k)

return 0

}

代码就氏肆败是这样吧 求其他的话换掉12就好

设有k个数瞎绝

第一项是a

那么取的数是 a,a+1,a+2,……,a+k-1

k个数的和:k(a+k-1)/2 那么要能被6整除

就是要k(a+k-1)/12能得个整数

那么配册a最小取培神宏1

那么k最小就是11

若有用,,。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12495799.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存