С++  
Автор Сообщение

0
Сообщение С++

Вечер добрый,эксперты коммьюнити.Надумал освоить язык программирования с++ и застрял на простейшей задаче:

"Число a возводят в квадрат и результат увеличивают на 1.  Полученное число снова возводят в квадрат и увеличивают на 1.  Этот процесс продолжается до тех пор, пока не будет получено число X, большее миллиона. Найти число X". Написал таки код. После команды "введите число а" система дальше не идет.Реквестирую любую помощь по данному вопросу.

#include <stdio.h>

#include <conio.h>

void main ()

{

int a, n;

printf ("Vvedite chislo a\n");

scanf_s ("%d", &n);

for (a=n;a<=1000000;);

{

a*=a+1;

}

printf ("X= %d\n", a);

_getch ();

}



13 окт 2014, 20:35
Профиль

1
Сообщение С++

while(X < 100000)

{

 X = X * X;

 X++;

}

printf("%d", x);



13 окт 2014, 20:55
Профиль Skype

0
Сообщение С++

завалится на такой фигне. иди в слесари, не мучай жопу



13 окт 2014, 20:58
Профиль

0
Сообщение С++

Обычно на самом деле отвечаю как Маршал, но в этот раз почему то помог. Неочень становлюсь.



13 окт 2014, 21:00
Профиль Skype

0
Сообщение С++

Зачем использовать цикл for(;;) ?

Условия проверяют обычно циклами while(){...} или do{...}while().



13 окт 2014, 21:07
Профиль






Сервер: Soulflayer
0
Сообщение С++

Синтаксис С++ я подзабыл, но проще оформить в do while

do

{

a=a*a+1;

}

while (a>1000000);

printf(a);

 



13 окт 2014, 21:08
Профиль

0
Сообщение С++

Разобрался. Подводный камень был в формуле "а*=а+1". 
Вместо нужно написать "а=а*а+1"

Daniel писал(а):

Обычно на самом деле отвечаю как Маршал, но в этот раз почему то помог. Неочень становлюсь.

 Твоя формул не совсем правильна,потому что нам нужен квадрат результата,а не квадрат кажого числа,увеличенного на 1.
Но все равно спасибо.



13 окт 2014, 21:11
Профиль

0
Сообщение С++

СтепанДмитриевич писал(а):

Разобрался. Подводный камень был в формуле "а*=а+1". 
Вместо нужно написать "а=а*а+1"

Daniel писал(а):

Обычно на самом деле отвечаю как Маршал, но в этот раз почему то помог. Неочень становлюсь.

 Твоя формул не совсем правильна,потому что нам нужен квадрат результата,а не квадрат кажого числа,увеличенного на 1.
Но все равно спасибо.

Мало того, что хрень, которую ты наваял компилятор не пропустил бы, так ты еще и условие не осилил внимательно прочитать.



13 окт 2014, 21:13
Профиль






Сервер: Soulflayer
0
Сообщение С++

Ты не корректно описал условия и ещё вы***ваешься.

Перечитай, написал: полученное число(после операции возведения в квадрат и инкрементирования) снова возводят в квадрат. 

А учитывая то, что ты сейчас написал, ещё должен стоять внутри цикла оператор условия для проверки инкрементированного числа на предмет превышения 1 миллиона и, соответственно, брейка цикла.


Горепрограммист с зарплатой стотыщ, иди шиндоус переустанавливай.



13 окт 2014, 21:16
Профиль

0
Сообщение С++

СтепанДмитриевич писал(а):

 Твоя формул не совсем правильна,потому что нам нужен квадрат результата,а не квадрат кажого числа,увеличенного на 1.

Но все равно спасибо.

Сам не в состоянии условие прочитать? 

СтепанДмитриевич писал(а):

Число a возводят в квадрат и результат увеличивают на 1.  Полученное число снова возводят в квадрат и увеличивают на 1.

У меня возводит в квадрат и потом увеличивает на один. Делает до тех пор пока меньше миллиона. Задача для детского сада.

 



13 окт 2014, 21:18
Профиль Skype






Сервер: Soulflayer
0
Сообщение С++

ПГ тебе не stackoverflow какой-нибудь, мы тут ИИ разрабатываем. Не мешайся мальчик.



13 окт 2014, 21:22
Профиль
Начать новую тему Ответить на тему


Перейти:  

На сайте использованы материалы, принадлежащие Blizzard Entertainment. Копирование материалов возможно только c разрешения портала. В противном случае это будет называться уже другим словом.
Рейтинг@Mail.ru