C语言巧妙AC

用了等差数列求和,呵呵

#include<stdio.h>
int main(){
int M;
scanf("%d",&M);
for (int i=1;i<=M/2;i++){
for (int j=i+1;(i+j)*(j-i+1)<=2*M;j++){
if ((i+j)*(j-i+1)==2*M) { //(首项+末项)*项数/2
printf("%d %d\n",i,j);
break;
}
}
}
return 0;
}

0 条评论

目前还没有评论...

信息

ID
1302
难度
3
分类
数论 | 数位统计 点击显示
标签
(无)
递交数
2539
已通过
1289
通过率
51%
被复制
3
上传者