/ / получи число-единична цифра по прост начин - цел-c

получавате цяло число - единична цифра по прост начин - цел-c

аз не съм сигурен за моя английски, но трябва да получа единица цифра на цяло число. БЕЗ сложен алгоритъм, но с някои API или друг трик.

например :

int a= 53;
int b=76;

това аз добавя, защото аз почти винаги не "отговарят на стандартите за качество" да публикувате! кара ме луд! моля, поправете го! това ми отне 10 стреля, за да публикувате това, както и друг въпрос също.

Трябва да стигна a=3 и b=6 по прост начин.

същото за другата цифра.

Благодаря много .

Отговори:

8 за отговор № 1

тук е как да разделите номера на части

int unitDigit = a % 10; //is 3
int tens= (a - unitDigit)/10; //is 53-3=50 /10 =5

1 за отговор № 2

Търсите% оператор.

a=a%10;//divides "a" by 10, assigns remainder to "a"

1 за отговор № 3

ВНИМАНИЕ

тук е как да се бои броя на части

int unitDigit = a % 10; //is 3
int tens= (a - unitDigit)/10; //is 53-3=50 /10 =5

този отговор е напълно неточен. Тя може да работи само в редица случаи. Например се опитайте да получите първата цифра от 503 по този начин

Изглежда най-простият отговор (но не е много добър при изпълнението):

int a = ...;
int digit = [[[NSString stringWithFormat:@"%d", a] substringToIndex:1] intValue]; //or use substringWithRange to get ANY digit

0 за отговор № 4

Операторът на Modulo ще ви помогне (тъй като цифрата на единиците е напомняне, когато числото е разделено на 10):

int unitDigit = a % 10;

0 за отговор № 5

Следният код "получава" цифрите на дадено число и преброява колко от тях точно разделят числото.

int findDigits(long long N){
int count = 0;
long long newN = N;

while(newN) // kinda like a right shift
{
int div = newN % 10;
if (div != 0)
if (N % div == 0) count++;
newN = newN / 10;
}
return count;
}