All pastes #223678 Raw Edit

7 moi

public text v1 · immutable
#223678 ·published 2006-10-27 01:17 UTC
rendered paste body
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int valid_number(char *number);
long convert_string_to_int(char *no);

int main(int argc, char *argv[]) {
	long begin = 0;
	long end = 0;
	int valid = 0;
	char buff[12] = "";

	if (argc <= 2) return -1;

	begin = convert_string_to_int(argv[1]); 	// converting string to int
	end = convert_string_to_int(argv[2]);		// and inserting it in variable

	printf("begin: %d end: %d\r\nlooking for valid numbers..\r\n", begin, end);
	
	for(int i = 0; i <= end-begin; i++) {
		begin++;
		sprintf(buff,"%d", begin);
		if (valid_number(buff) == 1) valid++;
		// printf("string:: int(%d) string(%s) valid ? %d\r\n", begin, buff, valid_number(buff));
	}
	printf("found: %d\r\n", valid);
	return 0;
}
long convert_string_to_int(char *no) {
	long l;
	errno=0;
	l=strtol(no, 0, NULL);
	if(errno == 0) {
         return l;
	} else {
         return 0;
	}
}
int valid_number(char *number) {
    int i, n, sum = 0;
    char alternate = 0;

    for (i = strlen(number) - 1; i >= 0; i--) {
        n = number[i] - '0';
        if (alternate) {
            n *= 2;
            if (n > 9)
                n = (n % 10) + 1;
        }
        sum += n;
        alternate = !alternate;
    }
    return (sum % 10 == 0);
}