C++ ACM编程出现Runtime Error SIGSEGV错误,不知道到底出错在哪里啊?求高人指点
题目:ReducedIDNumbersT.ChurteachesvariousgroupsofstudentsatuniversityU.EveryU-studentha...
题目:
Reduced ID Numbers
T.Chur teaches various groups of students at university U. Every U-student has a unique
Student Identification Number (SIN). A SIN s is an integer in the range 0 ≤ s ≤ MaxSIN with
MaxSIN = 106-1. T.Chur finds this range of SINs too large for identification within her
groups. For each group, she wants to find the smallest positive integer m, such that within
the group all SINs reduced modulo m are unique.
Input
On the first line of the input is a single positive integer N, telling the number of test cases
(groups) to follow. Each case starts with one line containing the integer G (1 ≤ G ≤ 300):
the number of students in the group. The following G lines each contain one SIN. The SINs
within a group are distinct, though not necessarily sorted.
Output
For each test case, output one line containing the smallest modulus m, such that all SINs
reduced modulo m are distinct.
Sample Input
2
1
124866
3
124866
111111
987651
Sample Output
1
8
我的代码:
#include<iostream>
using namespace std;
int main()
{
int casenum,G;
long long SIN;
int m,i,j,k,p,temp;
long long a[310],b[10000];
cin>>casenum;
for(i=1;i<=casenum;i++)
{
cin>>G;
for(j=0;j<G;j++)
{
cin>>SIN;
a[j]=SIN;
}
temp=0;
for(j=0;j<G;j++)
{
for(k=j+1;k<G;k++)
{
b[temp]=a[j]-a[k];
if(b[temp<0])
b[temp]=-b[temp];
temp++;
}
}
for(m=1; ;m++)
{
p=1;
for(j=0;j<temp;j++)
{
if(b[j]%m==0 )
{
p=0;
break;
}
}
if(p==1)
{
cout<<m<<endl;
break;
}
}
}
//system("pause");
return 0;
} 展开
Reduced ID Numbers
T.Chur teaches various groups of students at university U. Every U-student has a unique
Student Identification Number (SIN). A SIN s is an integer in the range 0 ≤ s ≤ MaxSIN with
MaxSIN = 106-1. T.Chur finds this range of SINs too large for identification within her
groups. For each group, she wants to find the smallest positive integer m, such that within
the group all SINs reduced modulo m are unique.
Input
On the first line of the input is a single positive integer N, telling the number of test cases
(groups) to follow. Each case starts with one line containing the integer G (1 ≤ G ≤ 300):
the number of students in the group. The following G lines each contain one SIN. The SINs
within a group are distinct, though not necessarily sorted.
Output
For each test case, output one line containing the smallest modulus m, such that all SINs
reduced modulo m are distinct.
Sample Input
2
1
124866
3
124866
111111
987651
Sample Output
1
8
我的代码:
#include<iostream>
using namespace std;
int main()
{
int casenum,G;
long long SIN;
int m,i,j,k,p,temp;
long long a[310],b[10000];
cin>>casenum;
for(i=1;i<=casenum;i++)
{
cin>>G;
for(j=0;j<G;j++)
{
cin>>SIN;
a[j]=SIN;
}
temp=0;
for(j=0;j<G;j++)
{
for(k=j+1;k<G;k++)
{
b[temp]=a[j]-a[k];
if(b[temp<0])
b[temp]=-b[temp];
temp++;
}
}
for(m=1; ;m++)
{
p=1;
for(j=0;j<temp;j++)
{
if(b[j]%m==0 )
{
p=0;
break;
}
}
if(p==1)
{
cout<<m<<endl;
break;
}
}
}
//system("pause");
return 0;
} 展开
2个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询