aboutsummaryrefslogtreecommitdiff
path: root/semestr-4/sieci/warsztaty8/185992.cpp
blob: 491f74827f7317bbd34aba9e702c24fb163afb0f (plain)
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#include <bits/stdc++.h>
using namespace std;

void dziesiatki ( int x);
void sety ( int x);

string od1do9[]= { "zero", "jeden", "dwa", "trzy", "cztery", "piec", "szesc", "siedem", "osiem", "dziewiec"};
string od10do19[]= { "dziesiec", "jedenascie", "dwanascie", "trzynascie", "czternascie", "pietnascie", "szesnascie", "siedemnascie", "osiemnascie", "dziewietnascie"};
string od20do90[]= {"", "dwadziescia", "trzydziesci", "czterdziesci", "piecdziesiat", "szescdziesiat", "siedemdziesiat", "osiemdziesiat", "dziewiecdziesiat"};
string od200do900[]= { "", "dwiescie", "trzysta", "czterysta", "piecset", "szescset", "siedemset", "osiemset", "dziewiecset"};

void miliony ( int x) {
	if ( x==1) {
		cout<<"milion ";
		return;
	}
		dziesiatki(x);
	 if ( ( x >= 2 && x<=4) || ( x%10 >= 2 && x%10<=4) ) {
	 	cout<<"miliony ";
	 	return;
	 } else {
	 	cout<<"milionow ";
	 	return;
 	}

}

void tysiace ( int x) {
	if ( x==1) {
		cout<<"tysiac ";
		return;
	}
		if ( x==100) {
			cout<<"sto tysiecy";
			return;
		}
			if ( x<10) {
				if ( x<=4) {
					cout<<od1do9[x]<<" "<<"tysiace ";
				} else {
					cout<<od1do9[x]<<" "<<"tysiecy ";
				}
				return;
			}
			if ( x>=10 && x<=99) {
			dziesiatki(x);
			if ( x%10>=2 && x%10<=4) {
				cout<<"tysiece ";
				return;
			}
			cout<<"tysiecy ";
			return;
			}
				cout<<od200do900[x/100-1]<<" ";
					dziesiatki(x%100);
				
			cout<<"tysiecy ";
}

void sety ( int x) {
	if ( x<100) {
		if ( x>=10 ) {
			dziesiatki(x);
			return;
		} 
			if (x!=0 && x<10) {
				cout<<od1do9[x]<<" ";
				return;
			}
	}
		
	if ( x==100) {
		cout<<"sto ";
		return;
	}
		if ( x/100==1) {
			cout<<"sto ";
			dziesiatki(x%100);
			return;
		}
			cout<<od200do900[x/100-1]<<" ";
			dziesiatki(x%100);
}


void dziesiatki ( int x) {
	if ( x!=0) {
	if ( x/10 == 1) {
		cout<<od10do19[x%10]<<" ";
		return;
	}
 	 	if ( x/10 == 0 && x%10 != 0) {
 	 		cout<<od1do9[x%10]<<" ";
 	 		return;
		  }
		cout<<od20do90[x/10-1]<<" ";
		if ( x%10!=0) {
			cout<<od1do9[x%10]<<" ";
		}
}
}

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  int n;
  cin>>n;
  if ( n>=1000000) {
  	miliony ( n/1000000);
  } 
  	n=n%1000000;
  	if ( n>=1000) {
  		tysiace( n/1000);
	  }
	   	n=n%1000;
	  	sety (n);
}