Sponsored Content
Top Forums Programming Programming Challenges - A List Post 302120846 by Franklin52 on Friday 8th of June 2007 02:08:45 PM
Old 06-08-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 trial:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void palindrome(char *p, int value);

int main (int argc, char *argv[])
{
    int val[20];
    int i, n;
    char pal[20];

    n = 0;

    while (n < 20) {
        scanf("%d", &val[n]);
	if(val[n] == -1) {
	    break;
	}
	n++;
    }
    
    for(i = 0; i < n; i++) {
	pal[0] = '\0';
	palindrome(pal, val[i]);

	if(pal[0]) {
	    printf("Initial value: %d gives palindrome %s\n",val[i], pal);
        }
        else {
	    printf("Initial value: %d no palindrome found\n",val[i]);
        }
    }

    return(0);
}

void palindrome(char *p, int value)
{
    long pal;
    char str[20], rts[20];
    int i, j, len, nel; 

    pal = value;

    for(j = 0; j < 1000; j++) {
        sprintf(str, "%d", pal); 
	len = strlen(str);
        nel = len-1;

	for(i = 0; i < len; i++) {
	    rts[i] = str[nel];
	    nel--;
        }
	rts[len] = '\0';
        nel = len/2;

	if(!strncmp(str, rts, nel)) {
	    strcpy(p, str);    
	    return;
	}
	pal = pal + strtol(rts, 0, 0);
    }
    p[0] = '\0';
}

Regards
 

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
DWARF_GET_AT_NAME(3)					   BSD Library Functions Manual 				      DWARF_GET_AT_NAME(3)

NAME
dwarf_get_ACCESS_name, dwarf_get_AT_name, dwarf_get_ATE_name, dwarf_get_CC_name, dwarf_get_CFA_name, dwarf_get_CHILDREN_name, dwarf_get_DS_name, dwarf_get_DSC_name, dwarf_get_EH_name, dwarf_get_END_name, dwarf_get_FORM_name, dwarf_get_ID_name, dwarf_get_INL_name, dwarf_get_LANG_name, dwarf_get_LNE_name, dwarf_get_LNS_name, dwarf_get_MACINFO_name, dwarf_get_OP_name, dwarf_get_ORD_name, dwarf_get_TAG_name, dwarf_get_VIRTUALITY_name, dwarf_get_VIS_name -- retrieve the symbolic names of DWARF constants LIBRARY
DWARF Access Library (libdwarf, -ldwarf) SYNOPSIS
#include <libdwarf.h> int dwarf_get_ACCESS_name(unsigned val, char **str); int dwarf_get_AT_name(unsigned val, char **str); int dwarf_get_ATE_name(unsigned val, char **str); int dwarf_get_CC_name(unsigned val, char **str); int dwarf_get_CFA_name(unsigned val, char **str); int dwarf_get_CHILDREN_name(unsigned val, char **str); int dwarf_get_DS_name(unsigned val, char **str); int dwarf_get_DSC_name(unsigned val, char **str); int dwarf_get_EH_name(unsigned val, char **str); int dwarf_get_END_name(unsigned val, char **str); int dwarf_get_FORM_name(unsigned val, char **str); int dwarf_get_ID_name(unsigned val, char **str); int dwarf_get_INL_name(unsigned val, char **str); int dwarf_get_LANG_name(unsigned val, char **str); int dwarf_get_LNE_name(unsigned val, char **str); int dwarf_get_LNS_name(unsigned val, char **str); int dwarf_get_MACINFO_name(unsigned val, char **str); int dwarf_get_OP_name(unsigned val, char **str); int dwarf_get_ORD_name(unsigned val, char **str); int dwarf_get_TAG_name(unsigned val, char **str); int dwarf_get_VIRTUALITY_name(unsigned val, char **str); int dwarf_get_VIS_name(unsigned val, char **str); DESCRIPTION
These functions return the symbolic name of a numeric DWARF constant. Argument val specifies the numeric value whose symbolic name is desired. Argument str should point to a location which will hold the returned NUL-terminated string containing the symbolic name of the specified value. The list of functions and the DWARF constants that they accept are: dwarf_get_ACCESS_name() DW_ACCESS_* constants. dwarf_get_AT_name() DW_AT_* constants. dwarf_get_ATE_name() DW_ATE_* constants. dwarf_get_CC_name() DW_CC_* constants. dwarf_get_CFA_name() DW_CFA_* constants. dwarf_get_CHILDREN_name() DW_CHILDREN_* constants. dwarf_get_DS_name() DW_DS_* constants. dwarf_get_DSC_name() DW_DSC_* constants. dwarf_get_EH_name() DW_EH_PE_* constants. dwarf_get_END_name() DW_END_* constants. dwarf_get_FORM_name() DW_FORM_* constants. dwarf_get_ID_name() DW_ID_* constants. dwarf_get_INL_name() DW_INL_* constants. dwarf_get_LANG_name() DW_LANG_* constants. dwarf_get_LNE_name() DW_LNE_* constants. dwarf_get_LNS_name() DW_LNS_* constants. dwarf_get_MACINFO_name() DW_MACINFO_* constants. dwarf_get_OP_name() DW_OP_* constants. dwarf_get_ORD_name() DW_ORD_* constants. dwarf_get_TAG_name() DW_TAG_* constants. dwarf_get_VIRTUALITY_name() DW_VIRTUALITY_* constants. dwarf_get_VIS_name() DW_VIS_* constants. RETURN VALUES
These functions return DW_DLV_OK on success. If the DWARF constant denoted by argument val is not recognized, these function return DW_DLV_NO_ENTRY. SEE ALSO
dwarf(3) BSD
April 22, 2011 BSD
All times are GMT -4. The time now is 07:08 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy