М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

C++ Выведите все точные квадраты натуральных чисел, не превосходящие данного числа N.

это мой код
#include

using namespace std;

int main() {
int x,n=15,i;
for(i=1;x<=n;i++){
cout< x=i*i;
}

}

откуда 0?и как от него избавиться

👇
Ответ:
sergey19751975
sergey19751975
15.02.2022

Код неверный

Объяснение:

Вот код:

Первый (простой, работает медленнее)

#include<iostream>

using namespace std;

int main() {

   int n;

   cin >> n;

   for(int i = 1; i <= n; i++) {

       if(sqrt(i) == (int)sqrt(i))

           cout << i << ' ';

   }

}

 Фактически мы просто для каждого числа проверяем, является ли его квадратный корень целым числом.

#include<iostream>

using namespace std;

int main() {

   int n;

   cin >> n;

   int x = 1, d = 3;

   while(x <= n) {

       cout << x << ' ';

       x += d;

       d += 2;

   }

}

Решение основывается на этом утверждении:

Разница между квадратами двух последовательных натуральных чисел больше на 2 разницы между предыдущими двумя квадратами, например:

4 - 1 + 2 = 9 - 4

Доказательство:

(n + 1)^{2} - n^2 = n^2 + 2n + 1 - n^2 = 2n + 1

n^2 - (n - 1)^2 = n^2 - n^2 + 2n - 1 = 2n - 1

Из чего получаем:

(n + 1)^2 - n^2 - (n^2 - (n - 1)^2) = 2n + 1 - (2n - 1) = 2

Доказано.

4,6(10 оценок)
Открыть все ответы
Ответ:
gspd000
gspd000
15.02.2022
Попробуй Program PascalGuru; var s:string;    f,t:text;
function preobr(s:string):string;var i,j,p,n,sered:integer;    gl,zp,slovo:string;    m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи';  p:=pos(' ',s); i:=0;        repeat        inc(i);        slovo:=copy(s,1,p-1);        m[i]:=slovo;        delete(s,1,p);        p:=pos(' ',s);        until p=0;        n:=i+1;        m[n]:=s;    for i:=1 to n do     begin    s:=m[i];       if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s);     sered:=(p div 2)+1;    if (not odd(p)) or (p<3) then continue;     if pos(s[1],gl)=0       then continue;     if pos(s[sered],gl)=0   then continue;     if pos(s[p],gl)=0       then continue;      s[1]:=UpCase(s[1]);    s[sered]:=UpCase(s[sered]);    s[p]:=UpCase(s[p]);     m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')';     end;         s:='';     for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end;
 beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do      begin      readln(f,s);      writeln(t, preobr(s) );      end;  writeln('Файл успешно записан...'); close(f);close(t);readln;end.
4,6(90 оценок)
Ответ:
dianaisaeva2
dianaisaeva2
15.02.2022
While (tnum != 0)  //tnum, tden - числитель и знаменатель искомой                                    дроби
    {
        if (tnum < tden)
        {
            temp = tnum;
            tnum = tden;
            tden = temp;
        }
        tnum = tnum - tden;
    }
    gcd = tden;  //вычисляем наибольший общий делитель
    numerator = numerator / gcd;  //делим числитель и знаменатель на
                                                      НОД, получаем сокращенную дробь
    denominator = denominator / gcd;
4,6(46 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ