Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на нахождение составных чисел
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Aljonka
Напечатать все составные числа в интервале [2;n]
Lapp
Цитата(Aljonka @ 31.12.2006 10:15) *

Напечатать все составные числа в интервале [2;n]

Что ты хочешь - алгоритм или реализацию? Впрочем, в любом случае сначала нужен алгоритм.. smile.gif
У тебя есть свои соображения? или, может, уже начала делать прогу? Покажи свои успехи. Тут помогут..
Гость
Можно найти все простые числа в диапазоне с помощью алгоритма "решето Эратосфена", и напечатать те которые не являються простыми:

uses 
   crt;
const 
  n=100;
var
   chisla:set of byte;
   i:byte;

procedure eratosfen(i:byte);
var 
   z:byte;
begin
   if i>=n then exit;
   z:=i;
   while z<=n do
	begin
	inc(z,i);
	if z in chisla then exclude(chisla,z)
	end;
   eratosfen(i+1)
end;

begin
   clrscr;
   chisla:=[1..n];
   eratosfen(2);
   for i:=1 to n do 
      if( not(i in chisla)) then write(i:4);
end.

volvo
Гость,
N = 768, твои действия?

(кстати, вот программу-то как раз перепечатывать и незачем, у нас в FAQ-е лежит ОТЛАЖЕННАЯ, а насчет этой я не уверен)
Aljonka
smile.gif cool.gif no1.gif rolleyes.gif yes2.gif
vsjo poluchilosj...

uses crt;
var n,k,i,j,kl:integer;
begin
clrscr;
writeln('Vvedite pervoe i poslednee chislo (vozmozhno[2;n])');
readln(n,k);
writeln('Vse slozhnye chisla [',n,';',k,']');
for i:=n to k do
begin
kl:=0;
for j:=2 to round(sqrt(i)) do
if (i mod j)=0 then
kl:=kl+1;
if kl<>0 then
writeln(i,'');
end;
readln;
end.
Aljonka
nemnogo oshiblasj
7) writeln('Vse sostavnye chisla [',n,';',k,']');
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.