

- Работа с текстове
- Въвеждане и извеждане на низ
- Определяне на дължината на низ
- Сравняване на низ
- Копиране на низове
- Стандартен тип string
- Работа с дълги числа
- Задачи с дълги числа
- Авторски задачи
Умножение (Национална олимпиада, областен кръг, 2002, зад. D1).
Напишете програма, която въвежда от клавиатурата едно естествено число, което може да има до 50 цифри, след това въвежда друго естествено число, което е едноцифрено и отпечатва на екрана произведението на двете въведени числа.
Пример:
Вход Изход
123456 864192
7
Решение: Преобразуваме въведения низ от цифри в масив от числа а. След това извършваме умножението на елементите на този масив с едноцифреното число b и резултатът получаваме в масива r.
#include<iostream> #include<string> using namespace std; char s[100]; int a[100], r[100]; int b; void main() { cin>>s; cin>>b; int n=strlen(s)-1; int i=n, j=0; while(j<=n) { a[j]=s[i]-'0'; i--; j++; } int c=0, w; for(i=0; i<=n; i++) { w=b*a[i]+c; r[i]=w%10; c=w/10; } r[n+1]=c; if(r[n+1]>0) cout<<r[n+1]; for(i=n; i>=0; i--) cout<<r[i]; cout<<"\n"; }