C Exercises: Check whether a non-negative given number is a multiple of 3 or 7, but not both
C-programming basic algorithm: Exercise-20 with Solution
Write a C program that checks if a given non-negative number is a multiple of 3 or 7, but not both.
C Code:
#include <stdio.h> // Include standard input/output library
#include <stdlib.h> // Include standard library for additional functions
// Function declaration for 'test' with an integer parameter 'n'
int test(int n);
int main(void){
// Print the result of calling 'test' with different integer values and format the output
printf("%d",test(3));
printf("\n%d",test(7));
printf("\n%d",test(21));
}
// Function definition for 'test'
int test(int n)
{
// Check if 'n' is divisible by 3 XOR divisible by 7
// XOR (^) returns true if either condition is met, but not both
if (n % 3 == 0 ^ n % 7 == 0) {
return 1; // If the XOR condition is true, return 1 (true)
} else {
return 0; // If the XOR condition is false, return 0 (false)
}
}
Sample Output:
1 1 0
Explanation:
int test(int n) { return n % 3 == 0 ^ n % 7 == 0; }
The above function takes an integer n as input and returns 1 if n is divisible by 3 or 7 but not both, otherwise it returns 0. It uses the bitwise XOR operator (^) to determine if n is divisible by only one of 3 or 7, but not both.
Time complexity and space complexity:
The time complexity of the function is O(1) as it consists of a few simple operations that do not depend on the size of the input.
The space complexity of the function is O(1) as it uses a constant amount of space regardless of the size of the input.
Pictorial Presentation:
Flowchart:
C Programming Code Editor:
Previous: Write a C program to test whether a given non-negative number is a multiple of 13 or it is one more than a multiple of 13.
Next: Write a C program to check whether a given number is within 2 of a multiple of 10.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/c-programming-exercises/basic-algo/c-programming-basic-algorithm-exercises-20.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics