F должно быть равно "1", т.к. для произведения(а факториал - это произведение) нейтральное число - "1", а для суммы - "0".
while k, нельзя преобразовать тип Integer к типу boolean в Паскале, даже если и было можно, то данная запись давала нам бесконечный цикл, нужно заменить на while k <= n
--------------------------------
k:=1; f:= 1;
while k <= n do begin
f:= f*k;
k:= k+1;
end;
Ответ:
#include <iostream>
using namespace std;
int main () {
int n;
cin >> n;
if (n==0) {
cout << "0 0" << endl << 1 << endl << 1 << endl;
return 0;
}
int mx=0; int mn=10; int mxi=10; int mnk=0; int ind=0;
while (n>0) {
int c=n%10;
n/=10;
if (c>=mx) {
mx=c;
mxi=ind;
}
if (c<mn) {
mn=c;
mnk=1;
} else if (c==mn) {
++mnk;
++ind;
}
}
cout << mx << " " << mn << endl << (ind - mxi) << endl << mnk << endl;
return 0;
}
Объяснение:
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
for (int i = 2; i < N; i++) {
int s = 0;
for (int j = 1; j <= i / 2; j++) {
if (i % j == 0) s += j;
}
if (s == i) cout << i << endl;
}
system("pause");
}
Ширина ячейки мала для отображения числа, необходимо увеличить ширину ячейки