Найти остаток от деления - C (СИ) (79871)
Формулировка задачи:
desh2[i]=(desh1[i]^Ko)mod r
for(i=1; i<SIZE; i++)
{
desh2[i]=(int)pow(desh1[i],Ko);
printf ("%i \n\n",desh2[i] );
}Решение задачи: «Найти остаток от деления»
textual
Листинг программы
#include <stdio.h>
#include <iostream.h>
#include <math.h>
#include <conio.h>
#define SIZE 6
void main ()
{
int p,q,r,Ko, e, i;
char ob[SIZE];
int desh[SIZE];
char alph[26]={'a','b','c','d','e', 'f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int desh1[SIZE];
int desh2[SIZE];
int desh3[SIZE];
printf ("vvedite p ");
printf ("i nazhmite enter");
printf ("->");
scanf ("%i", &p);
printf ("vvedite q");
printf ("i nazhmite enter");
printf ("->");
scanf ("%i", &q);
printf ("vvedite Ko");
printf ("i nazhmite enter");
printf ("->");
scanf ("%i", &Ko);
printf ("vvedite r");
printf ("i nazhmite enter");
printf ("->");
scanf ("%i", &r);
printf ("vvedite frazu \n");
for(i=0; i<SIZE;i++){
scanf ("%c", &ob[i]);
}
for(i=0; i<SIZE; i++){
for(e=0;e<26;e++){
if(ob[i]==alph[e]){
desh[i]=e;
}
}}
printf ("\n vivod massiva cisel familii\n");
for(i=1; i<SIZE; i++)
{
desh1[i]=desh[i]+1;
printf ("%c=%i \n\n",ob[i],desh1[i] );
}
for(i=1; i<SIZE; i++)
{
desh2[i]=(int)pow(desh1[i],Ko);
printf ("%i \n\n",desh2[i] );
}
for(i=1; i<SIZE; i++)
{
desh3[i]=desh2[i]%r;
printf ("%i \n\n",desh3[i] );
}
}
Объяснение кода листинга программы
В этом коде реализована задача поиска остатка от деления. Вот список действий, которые происходят в коде:
- Ввод от пользователя чисел p, q, Ko и r.
- Создание массивов ob, desh, alph и их инициализация.
- Заполнение массива ob символами, введенными пользователем.
- Поиск в массиве alph символа, соответствующего каждому элементу ob, и сохранение его индекса в массив desh.
- Вывод на экран массива desh.
- Создание массивов desh1, desh2 и desh3 для вычисления остатка от деления.
- Вычисление и вывод на экран массива desh1, содержащего каждое значение desh, увеличенное на 1.
- Вычисление и вывод на экран массива desh2, содержащего каждое значение desh1, возведенное в степень Ko.
- Вычисление и вывод на экран массива desh3, содержащего остаток от деления каждого значения desh2 на r.