How to get the total numbers with no repeated digits from a range of numbers in C

1 Answer

0 votes
#include <stdio.h>

int repeated_yes_0_no_1(int n) {
	char arr[10] = { 0 };

	while (n != 0) {
		int digit = n % 10;

		if (arr[digit] != 0) { // repeated = yes
			return 0;
		}

		arr[digit]++;

		n = n / 10;
	}

	return 1;
}

int GetTotalNumbersWithNoRepeatedDigits(int start, int end) {
	int total = 0;

	for (int i = start; i <= end + 1; i++) {
		total += repeated_yes_0_no_1(i);
	}

	return total;
}

int main()
{
	int start = 1, end = 100;

	printf("%d", GetTotalNumbersWithNoRepeatedDigits(start, end));
}





/*
run:
 
90
 
*/

 



answered Jan 14, 2023 by avibootz
edited Jan 14, 2023 by avibootz
...