long int number = 0;
int counter = 0, comp_number = 0;
void main()
{
printf("Number: ");
scanf("%d", &number);
printf("Number for comparison: ");
scanf("%d", &comp_number);
for (; number > 0;)
{
if (number % 10 == comp_number) counter++;
number = number / 10;
}
printf("\n-> %d\n\n\n", counter);
}
Задача. 2 – По зададено число N, да се намери сумата:
S = 1*2 + 2*3*4 + 3*4*5*6 + . . . + n*(n + 1)* . . . *(2n)
#include
int number = 0, i = 1, j = 1;
long int S = 0, product = 1;
void main()
{
printf("Number: ");
scanf("%d", &number);
for (i; i <= number; i++)
{
for (j = i; j <= 2 * i; j++)
{
product *= j;
}
S += product;
product = 1;
}
printf("\n-> %d\n\n\n", S);
}
Задача. 3 – ДНП която която извежда в нарастващ ред всички естестени числа, които не съдържат еднакви цифри.
#include
int i = 100;
int counter = 0;
void main()
{
for (i; i < 1000; i++)
{
if (i / 100 != i / 10 % 10 && i / 100 != i % 10 && i / 10 % 10 != i % 10)
{
printf("%d ", i);
counter++;
if (counter % 7 == 0) printf("\n");
}
if (i % 100 == 0)
{
printf("\n\n\n");
counter = 0;
}
}
printf("\n\n\n");
}
Задача. 4 – ДНП която установява, дали едно число се дели на 17, ако се задраска най-лявата му цифра.
#include
long int number = 0, new_number = 0;
int position = 1;
void main()
{
printf("Number: ");
scanf("%d", &number);
for (; number > 10;)
{
new_number += number % 10 * position;
number /= 10;
position *= 10;
}
if (new_number % 17 == 0) printf("\nDeli se!\n\n\n");
else printf("\nNe se deli!\n\n\n");
}
Задача. 5 – ДНП която намира сумата на N въведени числа от КБД, индексите на въвеждане на които са прости числа.
#include
int N = 0, number = 0, i = 1, j = 2;
unsigned boolean = 1;
long int sum = 0;
void main()
{
printf("N: ");
scanf("%d", &N);
printf("\n\n\n");
for (i; i <= N; i++)
{
printf("Number No[%d]d: ", i);
scanf("%d", &number);
for (j; j < i; j++)
{
if (i % j == 0) boolean = 0;
}
if (boolean) sum += number;
boolean = 1;
j = 2;
}
printf("\n-> %d\n\n\n", sum);
}
Задача. 6 – ДНП която извежда всяко число по-малко от N (N се въвежда от КБД), на което след преместване на първата му цифра (най-лявата) в началото (най-дясно) и се умножи с X (X се въвежда от КБД) се получава число равно на даденото.
#include
long int N = 0, number = 0, new_number = 0, temp_number = 0;
int first = 0, i = 0, x = 0;
void main()
{
printf("N: ");
scanf("%d", &N);
printf("Number for devision: ");
scanf("%d", &x);
for (i = 10; i < N; i++)
{
number = i;
new_number = number;
for (; new_number > 10;)
{
temp_number = temp_number * 10 + new_number % 10;
new_number /= 10;
}
first = new_number;
new_number = 0;
for (; temp_number > 0;)
{
new_number = new_number * 10 + temp_number % 10;
temp_number /= 10;
}
new_number = new_number * 10 + first;
if (new_number * x == number) printf("\n-> %ld", number);
}
printf("\n\n\n");
}
Задача. 7 – ДНП която извежда всяко число по-малко от N (N се въвежда от КБД), на което след разменяне на първата му цифра (най-лявата) с послената (най-дясната) и се умножи с X (X се въвежда от КБД) се получава число равно на даденото.
#include
long int N = 0, number = 0, new_number = 0, temp_number = 0;
int first = 0, last = 0, i = 0, x = 0;
void main()
{
printf("N: ");
scanf("%d", &N);
printf("Number for devision: ");
scanf("%d", &x);
for (i = 10; i < N; i++)
{
number = i;
new_number = number;
last = new_number % 10;
new_number /= 10;
for (; new_number > 10;)
{
temp_number = temp_number * 10 + new_number % 10;
new_number /= 10;
}
first = new_number;
new_number = last;
for (; temp_number > 0;)
{
new_number = new_number * 10 + temp_number % 10;
temp_number /= 10;
}
new_number = new_number * 10 + first;
if (new_number * x == number) printf("\n-> %ld", number);
}
printf("\n\n\n");
}
Сподели с приятели: