编写一个函数实现计算an,再遍历判断即可
#include<bits/stdc++.h>//万能头
int f(int n){
if(n<=2)return n+1;
else return (n-1)*(n-1)+3*(n-2)+1;
}//an函数
int main()
{
int m,k;
scanf("%d%d",&m,&k);
int m1=0;//整除m个数
int m2=0;//余数等于一的个数
int m3=0;//余数大于一的个数
for(int i=0;i<k;i++){
if(f(i)%m==0)m1++;//判断是否整除
else if(f(i)%m==1)m2++;//判断余数是否为一
else if(f(i)%m>1)m3++;//判断余数是否大于一
}
printf("%d %d %d",m1,m2,m3);
return 0;
}
基础题,应该掌握!!