Другие языки программирования и технологии
Программа на языке Си
Шестизначный номер билета является счастливым, если сумма первых трех цифр равна сумме трех последних. Даны числа a и b. Найти количество счастливых номеров билетов в диапазоне [a;b].
#include <stdio.h>
#include <math.h>
int check(int);
int search(int);
int sum(int);
void swap(int*, int*);
int main() {
int a, b, count = 0;
do {
printf("Input a: ");
scanf_s("%i", &a);
} while (check(a));
do {
printf("Input b: ");
scanf_s("%i", &b);
} while (check(b));
if (a > b) swap(&a, &b);
while (a <= b) {
if (search(a)) ++count;
++a;
}
printf("Count: %d\n", count);
fflush(stdin);
getchar();
}
int check(int num) {
return num <= 0 || num > 999999? 1 : 0;
}
int search(int ticket) {
int prev = ticket - 1;
int current = ticket;
int next = ticket + 1;
int head = current / 1000;
int temp = head * 1000;
int tail = current - temp;
int happy = 0;
if (head && abs(sum(head) - sum(tail)) == 1) {
head = prev / 1000;
tail = prev - temp;
if (sum(head) == sum(tail)) happy = 1;
else {
head = next / 1000;
tail = next - temp;
if (sum(head) == sum(tail)) happy = 1;
}
}
return happy;
}
int sum(int num) {
return num / 100 + num % 10 + (num / 10) % 10;
}
void swap(int* a, int* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
#include <math.h>
int check(int);
int search(int);
int sum(int);
void swap(int*, int*);
int main() {
int a, b, count = 0;
do {
printf("Input a: ");
scanf_s("%i", &a);
} while (check(a));
do {
printf("Input b: ");
scanf_s("%i", &b);
} while (check(b));
if (a > b) swap(&a, &b);
while (a <= b) {
if (search(a)) ++count;
++a;
}
printf("Count: %d\n", count);
fflush(stdin);
getchar();
}
int check(int num) {
return num <= 0 || num > 999999? 1 : 0;
}
int search(int ticket) {
int prev = ticket - 1;
int current = ticket;
int next = ticket + 1;
int head = current / 1000;
int temp = head * 1000;
int tail = current - temp;
int happy = 0;
if (head && abs(sum(head) - sum(tail)) == 1) {
head = prev / 1000;
tail = prev - temp;
if (sum(head) == sum(tail)) happy = 1;
else {
head = next / 1000;
tail = next - temp;
if (sum(head) == sum(tail)) happy = 1;
}
}
return happy;
}
int sum(int num) {
return num / 100 + num % 10 + (num / 10) % 10;
}
void swap(int* a, int* b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
Ну да, пару мин работы в среде программирования...
Да и... это не программа, а ТЗ)
Да и... это не программа, а ТЗ)
Алексей Каменщиков
Меня интересует цикл for
Похожие вопросы
- Помогите, пожалуйста, написать программу на языке Си
- Как настроить Python под Си? Как написать программу на языке Си в Python'е ?
- Вопрос о работе программы на языке СИ. Каким будет ответ?
- Как запретить ввод символов в программе на языке СИ++?
- подскажите как сделать программу на языке СИ(((
- не могу создать программу на языке "си"
- Пожалуйста, ктол может объяснитеб как написать программу на языке Си по этой задаче. С чего начать????
- помогите написать программу на языке Си: В одномерном массиве целых чисел заменить максимальное значение минимальным.
- Совет по программе на языке си (строки)
- надо написать код программы на языке си. помогите кто знает как!