int main() {
    
    long long int t,i;
    
    long long int n,r,m;
    
    fillArr();
    
    scanf("%lld",&t);
    
    while(t--){
        scanf("%lld %lld %lld",&n,&r,&m);
        clear();
        findPrimeFactors(m);
        i = 0;
        while(Prm[i]){
            R[i] = lucasTheoremRem(n,r,Prm[i]);
            i++;
        }
        
        printf("%lld\n",chineseRemTheorem());
        
    }

    return 0;
}
Exemple #2
0
int main(){
	int size;
	int *arr1 = NULL;
        int *arr2 = NULL;
	int numEvens = 0;
	printf("Give the size: ");
	scanf("%d",&size);
	arr1 = malloc(size * sizeof(int));
        if (arr1 == NULL){
		printf("Can't allocate that much\n");
		exit(-1);
	}
	fillArr(arr1,size);
	numEvens = countEvens(arr1,size);
	arr2 = calloc(numEvens, sizeof(int));
	copyEvens(arr1, size, arr2);

	printf("arr1:");
	printArr(arr1,size);
	printf("arr2:");
	printArr(arr2,numEvens);

	free(arr1);
	free(arr2);
	arr1 = NULL;
	arr2 = NULL;
	return 0;
}
Exemple #3
0
int main(){
	int max;
	int *arr1 = NULL;
	printf("Give the size: ");
	scanf("%d",&max);
	arr1 = malloc(max * sizeof(int));
        if (arr1 == NULL){
		printf("Can't allocate that much\n");
		exit(-1);
	}
	
	fillArr(arr1, max);
	printArr(arr1, max);

	free(arr1);
	arr1 = NULL;
	return 0;
}
Exemple #4
0
int main()
{
		int spaceForSegTreeArr, minElementIndex;
		time_t startTime, endTime;
		double seconds;
		
	mainArray	= (int*)malloc(sizeof(int)*NumElements);

	// fill the array upto NumElements with random numbers
	fillArr();

	// allocate array of size equal to nlogn
	spaceForSegTreeArr			= NumElements *(log((double)NumElements) / log((double)2));
	
	segmentTreeArray			= (int*)malloc(sizeof(int)*spaceForSegTreeArr);
	
	// initialize the segment tree array(build)
	initialize(0,0,NumElements-1);

	time(&startTime);
	// query <NumQueries> queries with the segment tree apporach
	querySegmentTreeApproach();
	time(&endTime);

	seconds = difftime(endTime,startTime);
	printf("Time taken for querying through 'Segment Tree' approach: %.2f seconds.\n",seconds);


	time(&startTime);
	// query <NumQueries> queries with the simple iteration apporach
	querySimpleApproach();
	time(&endTime);
	seconds = difftime(endTime,startTime);

	printf("Time taken for querying through 'Naive' approach: %.2f seconds.\n",seconds);

	return 0;
}
Exemple #5
0
static CkMarshallMsg *makeMsg(int tryNo,int n) {
	int len=n*sizeof(int);
	CkMarshallMsg *msg=new (&len,0) CkMarshallMsg;
	fillArr(tryNo,n,(int *)msg->msgBuf);
	return msg;
}
Exemple #6
0
static int *makeArr(int tryNo,int n,int extra)
{
	int *ret=new int[extra+n];
	fillArr(tryNo,n,&ret[extra]);
	return ret;
}