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

Задача: Необычные цифры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помощь по лабораторке http://www.cyberforum.ru/cpp-beginners/thread652318.html
Здравствуйте! Пожалуйста, помогите мне с лабораторной работой на C++. Уже пятый день пытаюсь решить и все безрезультатно. Вот текст задачи: Лабораторная работа №1, вариант 18. Для десяти...
C++ DirectX текстуры В общем такая проблема. Есть задача натянуть несколько текстур на ландшафт(который уже сгенерировал), причем необходимо это сделать варьируя прозрачность. Сделать это надо открыв текстуру как... http://www.cyberforum.ru/cpp-beginners/thread652306.html
Как обратиться через указатель к данным, которые он адресует? C++
c++ как обратиться через указатель к данным, которые он адресует?
C++ Заполнение матрицы
Нужна помощь. Заполнить матрицу, от левого нижнего угла по диагонали: слева - вверх. -размерность матрицы должна вводиться при выполнении программы; -решение задачи должно быть оформлено в виде...
C++ Передача массива в подпрограмму http://www.cyberforum.ru/cpp-beginners/thread652284.html
задаю массив глобально r вот так вызываю подпрограмму pg(0,-1,0, r); сама подрограмма void pg(int v,int l, int t, int r) { int j;
C++ Клиент для MS SQL Server 2008 Доброго времени суток! Нам в универе дали задание, написать программу (Клиент - Сервер) для работы с БД MS SQL Server 2008. Программа ведет учет техники на комп. складе. Она должна уметь... подробнее

Показать сообщение отдельно
arreke
0 / 0 / 0
Регистрация: 14.05.2012
Сообщений: 13

Задача: Необычные цифры - C++

15.09.2012, 14:39. Просмотров 1011. Ответов 5
Метки (Все метки)

Описание

В математике имеются такие цифры, которые если умножить в квадрате, то в получившемся результате тоже будет эта цифра. Например: 25x25=625,76x76=5776. Напишите программу, которая определит такая это цифра, или нет.

Input

Вводим любое натуральное цисло.
Проверка будет повторяться пока не будет введена цифра 0.

Output

Вывести строку, которая состоит из 2 частей, первая - результат проверки цифры (Yes or No), вторая - квадрат введённой цифры.

Например, Input:
25↵
11↵
0↵

Output:
Yes 25*25=625↵
No 11*11=121↵

Мой код:

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
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
 
int check(int n)
{  
    int n1, n2;
    n1=n; n2=n*n;
    while (n1>0) {
      //printf("%d %d\n", n1%10, n2%10);
      if (n1%10 != n2%10 ) return 0; 
      n1=n1/10; n2=n2/10;
    }
    return 1;  
} 
 
int main() {  
 
  int n;
  
  do {
    scanf("%d", &n); 
    if (n==0) continue; 
    
    if (check(n)==1) printf("Yes  %d*%d=%d\n", n, n, n*n);
    else printf("No  %d*%d=%d\n", n, n, n*n);
 
  } while (n!=0);
  
  return 0;
}
код работает, но не со всеми вариантами теста, на некоторых вариантах выдает не правильный результат.
подскажите, пожалуйста, что не так, или хотябы основные моменты этой задачи на которые надо особо обратить внимание...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru