begin i := 3; k := 0; repeat s := 1; for d := 2 TO Trunc(sqrt(i)) do begin n := (i div d); if n * d = i then s := s + d + (i div d); end; if int(sqrt(i)) = sqrt(i) then s := s - Trunc(sqrt(i)); if s = i then k := k + 1; i := i + 1 until (k = 3); Writeln('Третье совершенное число равно ',s) end.
Тестовое решение: Третье совершенное число равно 496
const k=35; { k-е по порядку простое число }
var i,j,n,m:integer;
begin n:=1; i:=1; repeat j:=2; m:=round(sqrt(i)); while (i mod j <>0) and (j<=m) do j:=j+1; if j>m then n:=n+1; i:=i+1 until (n=k); Writeln(i-1) end.
Тестовое решение: 137
var n, d1, d2, d3: integer;
begin Write('Введите трехзначное число ->'); Readln(n); d1 := (n div 100); d2 := ((n mod 100) div 10); d3 := (n mod 10); if (d1 * d2 * d3 in [100..999]) then Writeln('Произведение цифр трехзначное') else Writeln('Произведение цифр не трехзначное') end.
Тестовое решение: Введите трехзначное число ->518 Произведение цифр не трехзначное
*** В блок-схемах использованы обозначения: sqrt(x) - квадратный корень от х; \ - операция целочисленного деления % - операция остатка от целочисленного деления
#include <iostream.h>//для vs <iostream> #include <conio.h> /* для vs : using std::cin; using std::cout; using std::endl; using std::srand; using std::rand;*/ int main(){ int a[16],i,n; randomize();//<->srand; cout<<"EXIT-0\n"; while(n!=0 ){ M: cout<<"Vvedite Razmer Massiva (N<=16) :\n"; cin>>n; if(n>16) cout<<"Error! N>16 . Try again\n"; if(n>16) goto M; for (i=0;i<n;i++) a[i]=random(100);//<->rand(); cout<<endl; for (i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl;} getch(); return 0; }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку