Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2010, 21:35   #1
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию Циклы

Используя перебор значений найти все числа из диапазона от n до m, которые при возведении в квадрат дают палиндром
только надо чтобы код был не сильно мудрёным, строго через for, while, do while,if else, монжно делать break, continue, goto.
P.S. cпросив у преподавателя, как к Этому подойти, получил чёткий ответ: "У каждого числа есть середина, от неё и пляши"
Bleize вне форума Ответить с цитированием
Старый 12.11.2010, 22:03   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А использование процедуры str, и превращение числа в строку считается "сильно мудреным"?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 22:10   #3
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию

думаю для студента, обучающегося 2.5 месяца да
Bleize вне форума Ответить с цитированием
Старый 12.11.2010, 22:14   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Вот тебе пример: http://www.programmersforum.ru/showthread.php?t=102872
Между прочим даже без строк, судя по виду.
Твоя задача - в цикле получать квадрат числа (функция SQR()) и передавать его функции.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 22:15   #5
Ezhuk
Форумчанин
 
Регистрация: 09.10.2010
Сообщений: 217
По умолчанию

Тогда держи такой вариант.
Код:
#include "stdio.h"
#include "stdlib.h"
void main(){
	int n,m,k,temp;
	scanf("%d %d",&n ,&m);
	for(int i=n;i<=m;i++){
		k=i*i;
		temp=0;
		while(k){ \\определяет сколько порядков в числе
			k/=10;
			temp++;
		}
		int *arr= new int[temp];\\создание массива размером равным количеству порядков
		k=i*i;
		for(int p=0;p<temp;p++){ \\заполнение массива 
			arr[p]=k%10;
			k/=10;
		}
		int j=0,p=temp-1,count=0;
		while(j<p){\\собственно определяет является ли цисло полиндромом
			if(arr[j++]!=arr[p--]){
				count=1;
				break;
			}

		}
		if(count==0)
			printf("%d\n",i);
	}
}
Ёж птица гордая, пока не пнешь не полетит.

Последний раз редактировалось Ezhuk; 12.11.2010 в 22:33.
Ezhuk вне форума Ответить с цитированием
Старый 12.11.2010, 22:18   #6
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Твоя задача - в цикле получать квадрат числа (функция SQR()) и передавать его функции.
Сорри, что-то не догоняю(
Bleize вне форума Ответить с цитированием
Старый 12.11.2010, 22:20   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Плохо. Почитай про циклы, и посмотри примеры использования функции sqr()
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 22:21   #8
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию

Ezhuk спасибо, но дико неловко(2 проги дали уже) нам надо строго через цикл, ибо массив не пройден(((

Stilet
не про sqr() понятно, мы даже писали pow(x,2), а вот передавать его функции......

Последний раз редактировалось Stilet; 12.11.2010 в 22:23.
Bleize вне форума Ответить с цитированием
Старый 12.11.2010, 22:23   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Bleize
Напиши хотя бы как понимаешь - а форумчане подкорректируют, если будут в эфире.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 12.11.2010, 22:28   #10
Bleize
Пользователь
 
Регистрация: 12.11.2010
Сообщений: 28
По умолчанию

1 2 3 4 3 2 1
*****|******(|)-середина числа(получается считаем цифры и,мб, делим пополам?)
1*сравниваем*1
*2*******2*
надо думать что-то в этом роде

Последний раз редактировалось Bleize; 12.11.2010 в 22:31.
Bleize вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
циклы (с++) @lenk@ Помощь студентам 0 05.05.2010 00:58
циклы halk Общие вопросы C/C++ 1 03.05.2010 15:36
Циклы - вложенны циклы? tigga Microsoft Office Excel 5 19.02.2010 23:36
циклы? serj-07 Помощь студентам 7 29.01.2010 00:25
Циклы Doublefaced Помощь студентам 2 01.07.2009 20:29