Kod: Zaznacz cały
int number = 84515259
Kod: Zaznacz cały
int number = 84515259
Kod: Zaznacz cały
int first = number;
while(first>10) first /= 10;
Kod: Zaznacz cały
while( first>9 ) first /=10;
Kod: Zaznacz cały
unsigned int firstdigit(unsigned int n) {
if(100000<=n)
if(100000000<=n)
if(1000000000<=n) return n/=1000000000;
else return n/=100000000;
else
if(10000000<=n) return n/=10000000;
else
if(1000000<=n) return n/=1000000;
else return n/=100000;
else
if(1000<=n)
if(10000<=n) return n/=10000;
else return n/=1000;
else
if(100<=n) return n/=100;
else
if(10<=n) return n/=10;
else return n;
}
Kod: Zaznacz cały
#define _0 /10;
#define _7 _0 else
#define _8 <=n)
#define _9 return n/=
#define _1 int firstdigit(unsigned int n) {if(
#define _2 _8 if(
#define _3 _8 _9
#define _4 _7 _9
#define _5 _7 if(
#define _6 _0}//
_1 100000 _2 100000000 _2 1000000000 _3 10000000000 _4 1000000000 _5 10000000 _3 100000000 _5 1000000
_3 10000000 _4 1000000 _5 1000 _2 10000 _3 100000 _4 10000 _5 100 _3 1000 _5 10 _3 100 _4 10 _6
Ta pierwsza metoda wydaje się dużo łatwiejszaAfish pisze:1. Zrzutować na stringa / cstringa i wyciągnąć pierwszy znak
2. Dzielić przez 10 aż do otrzymania zera. Wtedy ostatnia niezerowa liczba jest tą poszukiwaną.
Kod: Zaznacz cały
O11(O1l)<%return O1l/*->*/>011?O11(O1l/(011+'/'/'/')):O1l;%>
main(d){
for(d=10; d<1000; d+=d/10)
printf("%3d %d\n", d, O11(d));
}