65,210
社区成员
发帖
与我相关
我的任务
分享
unsigned int sum = 0;
unsigned int sqrSum = 0;
for(i=0; i<N-2; i++)
{
sum += N-i-A[i];
sqrSum += ((N-i)*(N-i)) - ((A[i])*A[i]);
}
sum += 2 + 1;
sqrSum += 2*2 + 1*1;
#include <iostream>
#include <Ctime>
#include <Cmath>
using namespace std;
#define N 100000
//生成不同的随机数的数组
void GetDiffRandomNum(int A[], int n)
{
srand(unsigned(time(NULL)));
int i=0;
for(int index = n-1; index > 0; index--)
{
i = rand() % index;
swap(A[i], A[index]);
}
}
int main()
{
int A[N]={0};
for(int i=0; i<N; i++)
{
A[i] = i+1;
}
GetDiffRandomNum(A, N);
//DISPLAY(A, N);
unsigned int sum = 0;
double logSum = 0;
for(i=0; i<N-2; i++)
{
sum += N-i-A[i];
logSum += log(N-i)-log(A[i]);
}
sum += 2 + 1;
logSum += log(2)+log(1);
double multi = exp(logSum);
//两数的和与积
cout<<int(sum)<<'\t'<<int(multi)<<endl;
//求出两数
for(i=1; i<=N; i++)
{
double temp = i*(sum-i);
if(multi-0.5<=temp && temp <= multi+0.5)
cout<<i<<'\t'<<int(sum-i)<<endl;
}
return 0;
}
#include <iostream>
using namespace std;
#define N 10000
int main()
{
int Array[N];
int index = 0;
for(int i = 0; i < N; i ++)
{
if(i == 1000 || i == 5000)
{
continue;
}
Array[index] = i;
index++;
}
int a[2] = {0,0};
//通过一次循环查找x,y;
int k = 0;
for(i = 0; i < N - 3; i++)
{
if(Array[i+1] - Array[i] == 2)
{
a[k] = Array[i] + 1;
k++;
}
if(Array[i+1] - Array[i] == 3)
{
a[k] = Array[i] + 1;
a[k+1] = Array[i] + 2;
break;
}
}
if(a[0] == 0 && a[1] == 0)
a[1] = 1;
cout << "要找的两个数为: X = " << a[0] << endl;;
cout << "要找的两个数为: Y = " << a[1] << endl;;
return 0;
}
int arry[10000];
for(i=0;i<10000;i++)
arry[i]=i+1;
for(j=0;j<10000;j++)
if( j+1 != arry[j] )
cout<<arry[j]<<endl;