Witam. Pomoże mi ktoś z tym zadaniem asap? Trudne jest i nie rozumiem, help. ```Napisz program sumujący cyfry zadanej liczby. Proces sumowania
powtarzamy aż do momentu otrzymania liczby jednocyfrowej
Czy mógłby mi ktoś ten program napisać? Nie rozumiem nic z powyższych przekazów..
Czy mógłby mi ktoś ten program napisać?
Ale masz świadomość, że ten wątek jest niezgodny z regulaminem forum? Niedopuszczalne jest proszenie o pisanie programów do szkoły czy na zaliczenie. Jedynie przez szacunek dla kolegów, którzy tutaj udzielają Ci pomocy - nie przeniosłem go do kosza.
W każdym razie - możemy Ci pomóc w zrozumieniu tematu, ale nikt nie będzie podawać gotowców. A jak się jakiś znowu pojawi, to niestety - całość leci do śmietnika. Było ostrzeżenie, teraz możesz prosić o wytłumaczenie. Gotowców nie będzie, sorry ;)
cerrato napisał(a):
Czy mógłby mi ktoś ten program napisać?
Ale masz świadomość, że ten wątek jest niezgodny z regulaminem forum? Niedopuszczalne jest proszenie o pisanie programów do szkoły czy na zaliczenie. Jedynie przez szacunek dla kolegów, którzy tutaj udzielają Ci pomocy - nie przeniosłem go do kosza.
W każdym razie - możemy Ci pomóc w zrozumieniu tematu, ale nikt nie będzie podawać gotowców. A jak się jakiś znowu pojawi, to niestety - całość leci do śmietnika. Było ostrzeżenie, teraz możesz prosić o wytłumaczenie. Gotowców nie będzie, sorry ;)
Problem rozwiązany, kolega ma rację. Przepraszam wszystkich, którzy się tutaj udzielili, powinienem najpierw zrozumieć podstawę, a nie na gotowca liczyć bez jakiegokolwiek wysiłku.
cerrato napisał(a):
Gotowców nie będzie, sorry ;)
Przecież nie jesteśmy aż tak źli, czemu nie dać biednemu studentowi gotowca?
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(int x,char *p[])
{
if(p) cout<<main(987,nullptr)<<endl;
else
{
int X=0;
for(auto d:((ostringstream&)(ostringstream()<<x)).str()) X+=(d-'0');
return (X-x)?main(X,nullptr):X;
}
return 0;
}
A szkoda, już napisałem program dla liczb z zakresu 0-10000:
int digit_sum(int);
int main()
{
DBG(digit_sum(666));
DBG(digit_sum(999));
DBG(digit_sum(1000));
}
int digit_sum(int n)
{
static std::vector<int> sums{0,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9,10,2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,
4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,1,2,3,4,5,6,7,8,9,10,2,3,4,5,6,7,8,9,10,11,
3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,
5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
1,2,3,4,5,6,7,8,9,10,2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,
5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,
4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,
5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,
5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,
6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,
7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,
23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,25,26,27,28,29,30,31,32,33,34,
8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,
24,25,26,27,28,29,30,31,32,33,25,26,27,28,29,30,31,32,33,34,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,
23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,25,26,27,28,29,30,31,32,33,34,26,27,28,29,30,31,32,33,34,35,
9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20,
12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,12,13,14,15,16,17,18,19,20,21,13,14,15,16,17,18,19,20,21,22,
14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
13,14,15,16,17,18,19,20,21,22,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,14,15,16,17,18,19,20,21,22,23,15,16,17,18,19,20,21,22,23,24,
16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,
15,16,17,18,19,20,21,22,23,24,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,
19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,
23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,16,17,18,19,20,21,22,23,24,25,17,18,19,20,21,22,23,24,25,26,
18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,
22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,25,26,27,28,29,30,31,32,33,34,
17,18,19,20,21,22,23,24,25,26,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,20,21,22,23,24,25,26,27,28,29,
21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,24,25,26,27,28,29,30,31,32,33,
25,26,27,28,29,30,31,32,33,34,26,27,28,29,30,31,32,33,34,35,18,19,20,21,22,23,24,25,26,27,19,20,21,22,23,24,25,26,27,28,
20,21,22,23,24,25,26,27,28,29,21,22,23,24,25,26,27,28,29,30,22,23,24,25,26,27,28,29,30,31,23,24,25,26,27,28,29,30,31,32,
24,25,26,27,28,29,30,31,32,33,25,26,27,28,29,30,31,32,33,34,26,27,28,29,30,31,32,33,34,35,27,28,29,30,31,32,33,34,35,36
};
return sums.at(n);
}
def digit_sum n
, n.to_s.each_char.map(&:to_i).sum
, end
i puts [*0..10000].map{ digit_sum _1 }.each_slice(40).map{ _1.join(",")}.join(",\n")
:P
987 => 6
_13th_Dragon napisał(a):
Tak się zastanawiam czy dało by się to zrealizować jako metaprogramowanie?
Czyli w czasie kompilacji, chociażby w C++.
Jak najbardziej.
#include <iostream>
template<unsigned n>
struct SumOfDigits {
static const unsigned value = n % 10 + SumOfDigits<n/10>::value;
};
template<>struct SumOfDigits<0> {
static const unsigned value = 0;
};
template<unsigned n>
struct Calculate {
static const unsigned value = Calculate<SumOfDigits<n>::value>::value;
};
template<>struct Calculate<0> {static const unsigned value = 0;};
template<>struct Calculate<1> {static const unsigned value = 1;};
template<>struct Calculate<2> {static const unsigned value = 2;};
template<>struct Calculate<3> {static const unsigned value = 3;};
template<>struct Calculate<4> {static const unsigned value = 4;};
template<>struct Calculate<5> {static const unsigned value = 5;};
template<>struct Calculate<6> {static const unsigned value = 6;};
template<>struct Calculate<7> {static const unsigned value = 7;};
template<>struct Calculate<8> {static const unsigned value = 8;};
template<>struct Calculate<9> {static const unsigned value = 9;};
int main() {
int i = Calculate<987>::value;
std::cout << i << std::endl;
}
return num.at(n)
zrobić return num.at(n) > 9 ? sum_digits(num.at(n)) : num.at(n)
i fajrant ;)
A to też się da, chyba że znowu Cię źle zrozumiałem. Coś na modłę:
#include <array>
#include <iostream>
constexpr unsigned int SumOfDigits(unsigned int n) {
if (n < 10) {
return n;
} else {
return n%10 + SumOfDigits(n/10);
}
}
constexpr auto TableOfSums = [] {
constexpr auto TableSize = 1234;
std::array<unsigned int, TableSize> table = {};
for (unsigned int i = 0; i < TableSize; ++i) {
table[i] = SumOfDigits(i);
}
return table;
}();
int main() {
static_assert(TableOfSums[987] == 24);
unsigned int x;
std::cin >> x;
std::cout << TableOfSums[x] << '\n';
return 0;
}
-Wall -Wextra
, oczywiście samo odpalanie nic nie robi, ale się wykonuje. Potrzebujesz std=c++20
(być może std=c++17
też wystarczy, ale mam wrażenie, że std::array
potrzebuje dwudziestki).
static_assert
od razu widać), ale działa (patrz edycja).
<0, 1233>
int
też są ograniczenia, co prawda większe ale nadal są.
65000
to czemu nie?
int
, potem o górnym zakresie. Założyłem, że chodzi o górny zakres int
a :)
<0, 1233>
czyli dolny oraz górny zakres. :)