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

счастливый билет - C++

Восстановить пароль Регистрация
 
im_Kudrik
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 20
21.11.2011, 15:10     счастливый билет #1
нам дается номер билета ,нужно проверить ,если мы будем разделять этот номер ,сумма цифр до раздела должна быть равна сумме цифр после раздела ! выводить YES если сумма равна ,и NO в ином случае пример 005160 => YES
00100 => NO
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 15:10     счастливый билет
Посмотрите здесь:

Счастливый билет C++
Счастливый билет! C++
C++ Счастливый билет
C++ счастливый билет
Написать код(счастливый билет) C++
Почти счастливый билет C++
C++ Счастливый билет. Надо сократить время работы программы
C++ Задача на счастливый билет
Счастливый билет (Лимит Времени) C++
C++ Счастливый билет (номер с n-количеством цифр)
Задача про счастливый билет C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
406 / 499 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
21.11.2011, 15:27     счастливый билет #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
std::cin << number;
int first_total = 0;
while (number > 999)
{
    first_total+= number % 10; 
    number /= 10;
}
int second_total= 0;
while ( number > 9 )
{
    second_total+= number % 10;
    number /= 10;
}
 
if ( ... == ... ) std::cout << "YES!\n";
else std::cout << "NO!\n";
im_Kudrik
0 / 0 / 0
Регистрация: 17.11.2011
Сообщений: 20
21.11.2011, 15:43  [ТС]     счастливый билет #3
спасибо ,а можно через string ?

Добавлено через 4 минуты
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
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <string>
using namespace std;
  
int main(){
  string str;
    cin >> str;
    int a1=0,a2=0;
  for (int i=1;i<str.length()-1;i++){
  a1=process(str.substr(0,i));
  a2=process(str.substr(i+1,str.length()-i-1));
  }
  if (a1=a2)
    cout <<"YES";
  else cout <<"NO";
  return 0;
}
 
int process (string str1){
 
    int q = 0;
    int temp = 0;
  if (str1.length()==1){
    return str1.length(); 
 
  }
    while (++q) {
    for (int i = 0; i < str1.length(); ++i)
            temp += (str1[i] - '0');
        if (temp >= 10) {
            str1.clear();
            while (temp!=0) {
                char ch = (temp % 10) + '0';
                str1 += ch;
                temp /= 10;
            
 
            }
        }
        else
            break;
    }
 
    return temp;
}
 Комментарий модератора 
Используйте теги форматирования кода!


помогите лучше мое решение справить
Yandex
Объявления
21.11.2011, 15:43     счастливый билет
Ответ Создать тему
Опции темы

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