Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++] сори, что с такой тупой просьбой


Автор: Carlos0N 9.10.2007, 20:49
Я только начал изучать С++.  Мне задали в универе написать програму, которая решала бы задачу, изложаную в коминтарии к програме. Я об этом совсем забыл и "написал" её только сейчас. Сдавать мне её завтра с утра, а она не работает. Помогите плз понять в чём ошибка. Для програмиста я думаю это как два пальца ...

Автор: MAKCim 9.10.2007, 20:56
как смотреть?
одни вопросы вместо кода
помести код прямо в пост

Автор: Carlos0N 9.10.2007, 21:02
Код

#include <stdio.h>
// Дано натуральное число n. Среди чисел 1,2,...,n найдите такие,
// запись которых совпадает с последними цыфрами их квадратов. (6*6=36, 25*25=625 ... )
int main()
{
int n, i, x, z, k=1, y, otvet, w;
printf ("vvedite 4islo \n");
scanf ("%d",&n);
for (x=1; x<=n; x++)    // перебирает все числа от 1 до n
    {          
          w=x;
          for (i=1; w/10!=0; i++)    // считает кол-во цыфр в x
          w=w/10;
          for (z=1; z<=i; z++)   // возводит 10 в степень, равную кол-ву цыфр в x                
          k=k*10;                     
                  y=x*x;                 
                  if (y%k==x) otvet=x &&                
                  printf ("podxodit 4islo %d\n", otvet);    
    }     
return 0;
}


Я конечно понимаю, что это можно сделать проще (наверное), но мне надо с помощью самых простых операций.


M
Guedda
Модератор: Пользуйтесь кнопкой "Код"!

Автор: zkv 9.10.2007, 21:13
1. читаем http://forum.vingrad.ru/act-boardrules.html
2. читаем http://forum.vingrad.ru/forum/topic-48015.html
3. в следующий раз обращаемся в http://forum.vingrad.ru/forum/Vingrad-help-center.html

код:
Код

#include <stdio.h>
// Дано натуральное число n. Среди чисел 1,2,...,n найдите такие,
// запись которых совпадает с последними цыфрами их квадратов. (6*6=36, 25*25=625 ... )
int main()
{
    int num;
    int x, xTmp;
    int xSQ;
    printf ("vvedite 4islo \n");
    scanf ("%d", &num);

    for( x=1; x <= num; ++x )    // перебирает все числа от 1 до n
    {
        xTmp = x;
        xSQ = xTmp*xTmp;
        while( (xTmp != 0) && ( (xTmp % 10) == (xSQ % 10) ) )
        {
            xTmp /= 10;
            xSQ     /= 10;
        }
        if( xTmp == 0 )
            printf ("podxodit 4islo %d, kvadrat %d\n", x, x*x );
    }

    return 0;
}

Добро пожаловать на форум.  smile 

Автор: MAKCim 9.10.2007, 21:16
Код

int main() {
    int number, square, temporary;
    scanf("%d", &number);
    for (; number; --number) {
        temporary = number;
        square = number * number;
        while ((temprary % 10) == (square % 10)) {
            if (!(temporary /= 10)) {
                printf("%d", number);
                break;
            }
            square /= 10;
        }
    }
    return 0;
}

Автор: MAKCim 9.10.2007, 21:16
Для домашних заданий, курсовых, существует "Центр Помощи".

Тема перенесена! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)