Sponsored Content
Top Forums Programming Programming Challenges - A List Post 302120508 by Octal on Wednesday 6th of June 2007 07:20:09 PM
Old 06-06-2007
Quote:
Originally Posted by blowtorch
Challenge: DRAM

Difficulty: Easy to Medium in C, Easy in perl/python

As the problem says, the value of the palindrome may exceed your system's defined integer size in C/C++.
My solution:
Code:
#include <stdio.h>
#include <stdlib.h>

long dram(long);
int palin(long);
long reverse(long);

main(int argc, char *argv[]) {
	long n;
	if (argc < 2) {
		fprintf(stderr, "usage: %s [number]\n", argv[0]);
		exit(1);
	}
	if (argc == 2) {
		n = atoi(argv[1]);
		printf("%ld\n", dram(n));
	} else {
		while (--argc > 0) {
			n = atoi(*++argv);
			printf("%ld\n", dram(n));
		}
	}
}
long dram(long n) {
	long n2;
	while (palin(n) != 1) {
		n2 = reverse(n);
		n += n2;
	}
	return n;
}
int palin(long n) {
	long n2 = reverse(n);

	if (n == n2) {
		return 1;
	}
	return 0;
}
long reverse(long n) {
	long rev = 0;

	while (n > 0) {
		rev *= 10;
		rev += n%10;
		n /= 10;
	}
	return rev;
}

I'll work on the bases challenge later.
 

3 More Discussions You Might Find Interesting

1. AIX

AIX 6.1 IDSLDAP Installation Challenges

Please bare with me, since I am new to AIX and LDAP. I am attempting to install idsldap server on our AIX 6.1 NIM server. I installed the following packages: root@nim(/)# lslpp -l|grep ldap db2_08_01.ldap 8.1.1.80 COMMITTED DB2 LDAP Support idsldap.clt64bit61.rte 6.1.0.17 COMMITTED... (6 Replies)
Discussion started by: ecollins
6 Replies

2. UNIX for Advanced & Expert Users

Challenges in finding and copying the block

Hi, I have a below challenging task where iam unable to find the block and copy the same into a file. I tried my luck,howver iam unable to reach the first and second step..Can anyone help me with a clue or with the commands so that i can give a try. 1. search the <number>9966993366</number>... (2 Replies)
Discussion started by: cskumar
2 Replies

3. Shell Programming and Scripting

Korn shell script - SQL statement challenges

Hi scripting experts. I have some coding challenges that I'm hoping you can help me out. I have one file#1 that contains the following sql statement that spans over multiple lines: sql Select /*+ use_has(a,b) */ * from customer a, customer_address b where a.id = b.id... (1 Reply)
Discussion started by: pchang
1 Replies
PHVIA(3)						MBK PHYSICAL STRUCTURE DEFINITIONS						  PHVIA(3)

NAME
phvia - mbk physical contact DESCRIPTION
The phvia structure is used to describe a via or contact belonging to a symbolic layout model, see phfig(3) for details. The declarations needed to work on phvia are available in the header file "/labo/include/mph402.h", where '402' is the actual mbk version. The following C structure supports the description of the via : typedef struct phvia { struct phvia *NEXT; char TYPE; long XVIA,YVIA; struct ptype *USER; } phvia_list; NEXT Pointer to the next phvia in the list. XVIA, YVIA Coordinates of the center of the via. Vias are macro generated patterns, so only their center is a matter of concern. TYPE Via type. The legal types for via are CONT_POLY poly alu1 contact CONT_VIA alu2 alu1 contact CONT_DIF_N alu1 difn contact CONT_DIF_P alu1 difp contact CONT_BODY_N alu1 nwell contact CONT_BODY_P alu1 pwell contact CONT_VIA2 alu2 alu3 contact C_X_N L shaped N transistor corner filling C_X_P L shaped P transistor corner filling USER Pointer to a ptype list, see ptype(3) for details, that is a general purpose pointer used to share informations on the via. SEE ALSO
mbk(1), addphvia(3), delphvia(3), phfig(3), ptype(3). BUG REPORT
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. ASIM
/LIP6 October 1, 1997 PHVIA(3)
All times are GMT -4. The time now is 11:01 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy