0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 3
1

Как удалить последний символ при выводе?

25.01.2018, 21:25. Показов 10113. Ответов 5
Метки нет (Все метки)

Здраствуйте, решал задачу (раздели число N на простые множители, при этом каждый множитель вывести через символ "*").
как этот символ можно убрать в конце вывода?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
int main(){
    long long n,i=2,k;
    cin>>n;
    while(n!=1){
        if(n%i==0){
            cout<<i<<"*";
            n/=i;
        }
        else{
            i++;
        }
    }
    return 0;
}
пример №1: входные данные 15, выходные 2*3*5 (у меня выводит 2*3*5*)
№2: входные 16, выходные 2*2*2*2 (аналогично после последнего множителя выводит "*")
№3: входные 5, выходные 5 (аналогично)
подскажите, как можно убрать этот последний ненужный "*"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2018, 21:25
Ответы с готовыми решениями:

Как удалить последний символ через цикл?
Как реализовать код ниже, что б после 9 не выводилось запятая? int i = 0; do {...

Как удалить последний символ строки(голову в стеке)
struct List { int x; List *Next,*Head;} ; void Add (int x, List **MyList) {

Как привести Int к строке, а затем удалить последний символ из строки
#include &lt;string&gt; using namespace std; int main(){ int num; char string_num; char...

Как в строке AnsiString удалить последний символ?
Как в строке AnsiString удалить последний символ? Подскажите, а то я чего-то подзабыл, еще вчера я...

5
7424 / 5019 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
25.01.2018, 21:39 2
Цитата Сообщение от __sanchoz__ Посмотреть сообщение
как этот символ можно убрать в конце вывода?
первый символ выводите без украшений, начиная со второго *A

Добавлено через 8 минут
кстати зачем Вам тип long long ? для Ваших чисел вполне подойдёт int (целые)
1
0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 3
25.01.2018, 21:43  [ТС] 3
у меня long long потому что N(2 ≤ n ≤ 231 - 1)
0
1642 / 1091 / 487
Регистрация: 17.07.2012
Сообщений: 5,345
25.01.2018, 21:51 4
Добавить простую проверку. Если после деления вышло 1, то знак умножения выводить не нужно.
1
775 / 583 / 316
Регистрация: 24.02.2017
Сообщений: 2,063
26.01.2018, 08:43 5
__sanchoz__, окончание кода сделай так:
C++
1
2
 cout<<"\b";
  return 0;
0
0 / 0 / 0
Регистрация: 25.01.2018
Сообщений: 3
29.01.2018, 11:01  [ТС] 6
эта штука не работает у меня (cout<<"\b"

Добавлено через 2 минуты
сделал вот такую проверку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <bits/stdc++.h>
using namespace std;
int main(){
    long long n,i=2,k;
    cin>>n;
    while(n!=1){
        if(n==i){
            cout<<i;
            break;
        }
        else{
            if(n%i==0){
                cout<<i<<"*";
                n/=i;
            }
            else{
                i++;
            }
        }
    }
    return 0;
}
всё делает правильно, но я закинул решение на сайт и по времени не лимитит
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2018, 11:01
Помогаю со студенческими работами здесь

Как удалить последний пробел при выводе
Нужно чтобы после последнего элемента не выводился пробел, как его убрать? #include &lt;stdio.h&gt;...

Удалить последний символ при нажатии на кнопку
Надо сделать что бы при нажатии на кнопку удалялся последний символ. Написал вот так, но не...

Как удалить последний символ в файле?
Дело вот в чем, у меня постоянно идет запись в файл, и в конце каждой строчки ставится закрывающая...

Как удалить из строки последний символ?
Господа, не могу врубиться как удалить из строки последний символ? Я читал мануал, но так и...

Как удалить последний символ из строки?
Здравствуйте, мне нужно удалить последний символ из char* сама строка получается здесь из формы:...

Калькулятор, как удалить последний символ
Как удалить последний введённый символ ?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru