您的位置:首页 > 其它

TYVJ 1115 同余 解题报告

2011-08-07 17:31 239 查看
  我用的暴搜,别人说还有一种方法:题目要求n个数同余。等价于求这n个数两两求差(大减小)所得的所有数的最大公约数。

  我的暴搜代码如下:

#include <stdio.h>
#include <stdlib.h>
int num[100];
int ans;

int main(int argc, char **argv)
{
int i, j, t;
int n, max = 0;
scanf("%d", &n);
for(i = 0; i < n; i++){
scanf("%d", &num[i]);
if(max < num[i]){
max = num[i];
}
}
for(i = 1; i <= max; i++){
t = num[0] % i;
for(j = 1; j < n; j++){
if(num[j] % i != t){
break;
}
}
if(j == n){
ans = i;
}
}
printf("%d\n", ans);
return 0;
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: