0 / 0 / 0
Регистрация: 13.06.2022
Сообщений: 5
1

Из Паскаля в си

09.01.2023, 13:27. Показов 1416. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста перевести с Паскаля в си.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Program SummaFakt;
const maxn=2 540 159;
type interval=0..9; {цифры}
var fcif:array [interval] of integer;
{факториал цифр искомых чисел}
 k: interval;
 n, {пробное число}
 s, {сумма факториалов цифр}
 nn:integer; {десятки}
 function sumf (n:integer):integer;
{сумма факториалов цифр числа n}
 var summa:integer;
 begin
 summa:=0;
 repeat
 summa:=summa+fcif[n mod 10];
 n:=n div 10
 until n=0;
 sumf:=summa
 end;
begin
 fcif[0]:=1; {запоминаются факториалы цифр}
 for k:=1 to 9 do
 fcif[k]:=fcif[k-1]*k;
 for nn:=0 to maxn div 10 do {цикл для десяти чисел}
 begin
 n:=nn*10;
 s:=sumf(n);
 repeat
 if s=n then writeln(n);
 n:=n+1;
{корректируется сумма факториалов цифр}
 s:=s-fcif[(n-1) mod 10]+fcif[n mod 10]
 until (s>n) or {в десятке не удается найти искомых чисел}
 (n mod 10=0) {закончился десяток}
 end
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2023, 13:27
Ответы с готовыми решениями:

Закрыть вкладки Паскаля при исполнении Паскаля
В Паскаль АВС.Нет открыто несколько вкладок. Запускается следующая программа (вкладка). Как в нее...

Построить треугольник Паскаля. Используя треугольник Паскаля, вычислить 𝑘−ое число Фиббоначчи. Нумерация чисел Фиббона
#include <iostream> using namespace std; int main() { setlocale(LC_ALL, "Russian"); ...

С Паскаля на С++
Дана целочисленная матрица размера M × N. Найти количество ее строк, все элементы которых различны....

С паскаля на C#
Помогите пожалуйста перевести с паскаля на C# Uses Graph, Crt; Const dT = 0.05; Var Gr1, Gr2,...

С паскаля на С
Помогите пожалуйста перевести на С. Вот само задание...

2
Просто Лис
Эксперт Python
5719 / 3519 / 1054
Регистрация: 17.05.2012
Сообщений: 10,343
Записей в блоге: 9
10.01.2023, 09:57 2
C
1
2
3
4
5
6
7
int fcif[10];
 
int main() {
    fcif[0] = 1;  // запоминаются факториалы цифр
    for (size_t i = 1; i < 10; i++) {
        fcif[i] = fcif[i - 1] * i;
    }
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
7769 / 4598 / 2823
Регистрация: 22.11.2013
Сообщений: 13,076
Записей в блоге: 1
12.01.2023, 02:50 3
Что-то такое:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
 
int fcif[10];
void sumf_init() {
  fcif[0]=1; for (int i=1; i<10; ++i) fcif[i]=i*fcif[i-1];
}
int sumf(int n) {
  int r=0; do { r+=fcif[n%10]; n/=10; } while (n!=0);
  return r;
}
 
int main()
{
  sumf_init();
#define maxn 2540159
  for (int nn=0; nn<=maxn/10; ++nn) {
    int n=nn*10, s=sumf(n);
    do {
      if (s==n) printf("%d\n",n);
      s-=fcif[n%10];
      s+=fcif[++n%10];
    } while (s<=n && n%10);
  }
  return 0;
}
Добавлено через 3 минуты
Сперва написал
C
20
      s-=fcif[n%10]-fcif[++n%10];
это работало, но это неправильно, поскольку не гарантируется, что fcif[n%10] будет вычислено раньше fcif[++n%10].

Добавлено через 12 минут
Или как в оригинале
C
20
      ++n; s-=fcif[(n-1)%10]-fcif[n%10];
0
12.01.2023, 02:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2023, 02:50
Помогаю со студенческими работами здесь

С паскаля на С++
Помогите пожалуйста перевести на С. Вот само задание...

из паскаля на С++
помогите надо завтра сдавать вот условие: Дано два файла g1 и g2, содержащих действительные...

Из Паскаля в С++
Здравствуйте. Помогите переписать этот код на C++. Сам пробовал, но не получается. var...

С паскаля на С#
Здравствуйте ! Есть программа на паскале. Суть: удаление в каждом слове, написанном через пробел,...

из паскаля в си)
Переведите мне пожалуйста прогу, написанную в паскале, в си))))) для меня это очень важно)))))))...

С Паскаля на С
Переведите пожалуйста код этот код на С а то я в Паскале не шарю: program fgh; var f,g,h:text;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru