Форум программистов, компьютерный форум CyberForum.ru

Кому легко, сюда - C++

Восстановить пароль Регистрация
 
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
14.11.2010, 22:07     Кому легко, сюда #1
Здравствуйте, помогите пожалуйста написать программу.Вот условие задачи:
Дано натуральное число n. Среди чисел 1,..., n найти такие, запись которых совпадает с
последними цифрами записи их квадратов (например, 62 = 36, 252 = 625).
P.S. Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.11.2010, 22:07     Кому легко, сюда
Посмотрите здесь:

загляните пожалуйста сюда... C++
C++ Символьный массив. Очень легко.
Посмотрите сюда C++
C++ легко и просто) про строки
C++ Бинарные деревья ! кому интересно , сюда!;)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mencey
 Аватар для Mencey
145 / 92 / 7
Регистрация: 22.07.2010
Сообщений: 424
14.11.2010, 23:16     Кому легко, сюда #2
Цитата Сообщение от Andrey.K Посмотреть сообщение
последними цифрами записи их квадратов (например, 62 = 36, 252 = 625).
Уточните непонял.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
14.11.2010, 23:26     Кому легко, сюда #3
6^2 = 36
25^2 = 625
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
15.11.2010, 09:13     Кому легко, сюда #4
Как-то не вижу логики в условии задания. Т.е. нужно найти пару чисел, где первое число заканчивается на 2, а второе число заканчивается на первую(первые) цифру первого числа? Если смысл задания в этом, то зачем так сложно его описывать?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.11.2010, 09:24     Кому легко, сюда #5
Цитата Сообщение от Kastaneda Посмотреть сообщение
Как-то не вижу логики в условии задания. Т.е. нужно найти пару чисел, где первое число заканчивается на 2, а второе число заканчивается на первую(первые) цифру первого числа? Если смысл задания в этом, то зачем так сложно его описывать?
Нет. Надо найти такие числа, квадраты которых заканчиваются на те же цифры в том же порядке, как и в самом числе.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int x,b1,b2,n;
boolean f;
cin>>n;
for (i=x; x<=n; ++x)
{
 for (f=true, b1=x, b2=x*x; b1>0; b1/=10, b2/=10)
 {
  if ((b1%10)!=(b2%10))
  {
   f=false;
   break;
  }
  if (f)
  {
   cout<<x<<"\n";
  }
 }
}
Добавлено через 3 минуты
будут выведены:
1
5
6
....
genius5
 Аватар для genius5
114 / 36 / 2
Регистрация: 13.12.2009
Сообщений: 223
15.11.2010, 11:02     Кому легко, сюда #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <math.h>
#include <stdio.h>
int main(void)
{int h,k,n,c,b=0,g=1,f1,f2,j,i;
scanf("%d",&n);
c=n;
while(h!=0){h/=10;b++;}
for(i=1;i<=n;i++)
{h=i;
while(h!=0){h/=10;b++;}
k=pow(i,2);
c=i;
for(j=1;j<=b;j++)
{f1=k%10;k/=10;
f2=c%10;c/=10;
if(f1!=f2)g=0;
}
if(g==1){printf("%d %lg\n",i,pow(i,2));}
g=1;b=0;}
return 0;}
dihlofos
Бродяга
 Аватар для dihlofos
302 / 256 / 17
Регистрация: 27.08.2010
Сообщений: 553
15.11.2010, 14:15     Кому легко, сюда #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
using namespace std;
 
bool megaFunc(int n)
{
    int sqw;
    sqw = n*n;
 
    while(n!=0)
    {
        if(n%10!=sqw%10)
            return false;
        n/=10;
        sqw/=10;
    }
    return true;
}
 
 
int main()
{
    int number,i;
    cin>>number;
 
    for(i=1; i<=number; ++i)
    {
        if(megaFunc(i))
            cout<<i<<" : "<<i*i<<endl;
    }
 
    cout<<endl;
    system("pause");
    return 0;
}
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9371 / 5421 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
15.11.2010, 18:27     Кому легко, сюда #8
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <math.h>
 
int main(void){
    int i;
    
    for ( i = 1; i < 1001; ++i )
        if ( i == i * i % (int)pow(10.0, floor(log10((double)i) + 1.0)) )
            printf("x = %d\tx^2 = %d\n", i, i * i);
    
    return 0;
}
silent_1991, восхищаюсь Вашей проницательностью!
Mayonez
15.11.2010, 18:37
  #9

Не по теме:

Цитата Сообщение от Andrey.K Посмотреть сообщение
Кому легко, сюда
а кому тяжело?

silent_1991
15.11.2010, 18:55
  #10

Не по теме:

easybudda, это сарказм ?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2010, 00:25     Кому легко, сюда
Еще ссылки по теме:

Как написать? (легко) C++
C++ Формула забавно легко, но не могу понять
C++ Не решается (легко)

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
16.11.2010, 00:25  [ТС]     Кому легко, сюда #11
Спасибо, всё работает.Осталось разобраться с некоторыми мелочами.
Yandex
Объявления
16.11.2010, 00:25     Кому легко, сюда
Ответ Создать тему
Опции темы

Текущее время: 03:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru