int arePandigital(int number1, int number2) { int product = number1 * number2; int numberList[10]; int i, flag; if(((digitCount(number1) + digitCount(number2) + digitCount(product)) == 9) && (hasNoReplicatingNumbers(product))) { for(i = 0;i <= 9;i++) numberList[i] = 0; while(number1 > 0) { numberList[number1 % 10]++; number1 /= 10; } while(number2 > 0) { numberList[number2 % 10]++; number2 /= 10; } while(product > 0) { numberList[product % 10]++; product /= 10; } for(i = 1, flag = 1;(flag == 1) && (i <= 9);i++) if(numberList[i] != 1) flag = 0; return (flag == 1); } else return 0; }
void AWSClient::initSignedHeaders() { /* For each of the formats for unsigned headers, determine the size of the * formatted string, allocate that much space in the next available element * in the headers array, create the string, and add it's length to the * headerLens array. */ int contentLen = payload.length(); int len = CONTENT_LENGTH_HEADER_LEN + digitCount(contentLen); headers[headersCreated] = new char[len + 1](); sprintf(headers[headersCreated], CONTENT_LENGTH_HEADER, contentLen); headerLens[headersCreated++] = len; len = CONTENT_TYPE_HEADER_LEN + strlen(contentType); headers[headersCreated] = new char[len + 1](); sprintf(headers[headersCreated], CONTENT_TYPE_HEADER, contentType); headerLens[headersCreated++] = len; len = HOST_HEADER_LEN + strlen(awsService) + strlen(awsRegion) + strlen(awsEndpoint); headers[headersCreated] = new char[len + 1](); sprintf(headers[headersCreated], HOST_HEADER, awsService, awsRegion, awsEndpoint); headerLens[headersCreated++] = len; len = X_AMZ_DATE_HEADER_LEN + AWS_DATE_LEN + AWS_TIME_LEN; headers[headersCreated] = new char[len + 1](); sprintf(headers[headersCreated], X_AMZ_DATE_HEADER, awsDate, awsTime); headerLens[headersCreated++] = len; len = X_AMZ_TARGET_HEADER_LEN + strlen(target); headers[headersCreated] = new char[len + 1](); sprintf(headers[headersCreated], X_AMZ_TARGET_HEADER, target); headerLens[headersCreated++] = len; }
void serialWriteUint16_0(uint16_t val){ //get the number of digits uint8_t numberOfDigits = digitCount(val); //create buffer for result char resultString[numberOfDigits]; //convert to string utoa(val, resultString, 10); //write to serial serialWriteString_0(resultString); }
void serialWriteInt16_0(int16_t val){ //get the number of digits uint8_t numberOfDigits = digitCount(val); //alloc space for minus sign if(val < 0) numberOfDigits++; //create buffer for result char resultString[numberOfDigits]; //convert to string itoa(val, resultString, 10); //write to serial serialWriteString_0(resultString); }
int QLCDNumber::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QFrame::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { if (_id < 9) qt_static_metacall(this, _c, _id, _a); _id -= 9; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = smallDecimalPoint(); break; case 1: *reinterpret_cast< int*>(_v) = numDigits(); break; case 2: *reinterpret_cast< int*>(_v) = digitCount(); break; case 3: *reinterpret_cast< Mode*>(_v) = mode(); break; case 4: *reinterpret_cast< SegmentStyle*>(_v) = segmentStyle(); break; case 5: *reinterpret_cast< double*>(_v) = value(); break; case 6: *reinterpret_cast< int*>(_v) = intValue(); break; } _id -= 7; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setSmallDecimalPoint(*reinterpret_cast< bool*>(_v)); break; case 1: setNumDigits(*reinterpret_cast< int*>(_v)); break; case 2: setDigitCount(*reinterpret_cast< int*>(_v)); break; case 3: setMode(*reinterpret_cast< Mode*>(_v)); break; case 4: setSegmentStyle(*reinterpret_cast< SegmentStyle*>(_v)); break; case 5: display(*reinterpret_cast< double*>(_v)); break; case 6: display(*reinterpret_cast< int*>(_v)); break; } _id -= 7; } else if (_c == QMetaObject::ResetProperty) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 7; } #endif // QT_NO_PROPERTIES return _id; }
void main() { int a, b, sum; int products[51]; products[50] = 0; for(a = 1;a < power(10, 7);a++) if(hasNoReplicatingNumbers(a)) for(b = 1;b < power(10, 8 - digitCount(a));b++) if(arePandigital(a, b)) add(products, a * b); for(products[50]--,sum = 0;products[50] >= 0;products[50]--) sum += products[products[50]]; printf("solution: %d\n",sum); }
int main() { int n; int num; scanf("%d", &n); while (n >= 1) { scanf("%d", &num); printf("%d\n", digitCount(num)); --n; } // end while return 0; } // end main()
void writeSerialDecimal_0(int val){ //get the number of digits uint8_t numberOfDigits = digitCount(val); //alloc space for minus sign if(val < 0) numberOfDigits++; //alloc char resultString[numberOfDigits]; //save digits as ascii char in array //for(int i = 0; i < numberOfDigits; i++) for(int i = numberOfDigits - 1; i >= 0; i--) resultString[i] = (int)(val / pow(10, i)) % 10 + 48;//get digit, convert to ascii //add a minus if(val < 0) resultString[numberOfDigits - 1] = '-'; //write to serial writeSerial_0(resultString, numberOfDigits); }
unsigned char * uintToString(unsigned int valor, unsigned char minCantDigitos, unsigned char * str){ unsigned char cantDigitos = 1; char i; cantDigitos = digitCount(valor); if (minCantDigitos > cantDigitos) cantDigitos = minCantDigitos; for (i = cantDigitos; i > 0; i--){ str[i-1] = '0' + valor % 10; valor /= 10; } str += cantDigitos; *str = '\0'; return str; }
string originalDigits(string s) { vector<int> count(26,0); for(auto c : s){ count[c - 'a']++; } // zero one two three four five six seven eight nine vector<int> digitCount(10,0); vector<string> checkOrder = {"zero", "six", "seven", "five", "eight", "four", "two", "three", "nine", "one"}; vector<int> checkDigit = {0, 6, 7, 5, 8, 4, 2, 3, 9, 1}; vector<char> checkChar = {'z', 'x', 's', 'v', 'g', 'u', 'w', 'r','i','o'}; for(int i = 0; i < checkChar.size(); i++){ while(count[checkChar[i] - 'a'] > 0){ digitCount[checkDigit[i]]++; for(auto c : checkOrder[i]) count[c - 'a']--; } } string res; for(int i = 0; i < digitCount.size(); i++){ for(int t = 0; t < digitCount[i]; t++) res += to_string(i); } return res; }
// --------------------------------------------------------------------------- // CDTMFPayloadFormatWrite::SendDTMFTonesL // Starts to send DTMF string incrementally until the string is sent. // --------------------------------------------------------------------------- // void CDTMFPayloadFormatWrite::SendDTMFTonesL( const TDesC8& aTones ) { DP_DTMF_WRITE( _L("CDTMFPayloadFormatWrite::SendDTMFTonesL") ); TInt digitCount( aTones.Length() ); __ASSERT_ALWAYS( digitCount != 0, User::Leave( KErrArgument ) ); __ASSERT_ALWAYS( IsValidDigits( aTones ), User::Leave( KErrArgument ) ); __ASSERT_ALWAYS( !iSendTimer->IsActive(), User::Leave( KErrNotReady ) ); iSendingMode = EModeAutomatic; iSendBuffer.Reset(); for ( TInt i = 0; i < digitCount; i++ ) { // in automatic mode default durations for tones are used TSendBufferElement element( aTones[i], 0 ); iSendBuffer.AppendL( element ); } iSinkBuffer->Data().FillZ( KDTMFDefaultPayloadSize ); iStateMachine->ChangeStateTo( EStateEncodeNextDigit ); }
/* * Displays a number on the seven segment display */ void displayNumber(double val){ //get integer part uint8_t asInteger = (int) val; //where would the comma be uint8_t digitsBeforePoint = digitCount(asInteger); //f**k it, the comma would be useless anyway if(digitsBeforePoint >= 3) displayNumber(asInteger); else{ //create all zero data array unsigned char data[3] = {0, 0, 0}; //load digits if(digitsBeforePoint == 2){ data[0] = NUMBERS_7SD[getDigit(val, 1)]; data[1] = NUMBERS_7SD[getDigit(val, 0)] + 1; data[2] = NUMBERS_7SD[getDigit(val, -1)]; } else if(digitsBeforePoint == 1){ data[0] = NUMBERS_7SD[getDigit(val, 0)] + 1; data[1] = NUMBERS_7SD[getDigit(val, -1)]; data[2] = NUMBERS_7SD[getDigit(val, -2)]; } else { data[0] = NUMBERS_7SD[getDigit(val, -1)] + 1; data[1] = NUMBERS_7SD[getDigit(val, -2)] + 1; data[2] = NUMBERS_7SD[getDigit(val, -3)] + 1; } //display comma if(digitsBeforePoint > 0) data[digitsBeforePoint - 1] |= 1; else{ //make all have commas to show that have 0.xyz for(int i = 0; i < 3; i++) data[i] |= 1; } //send send7SDTransmission(data); } }
/*!\reimp */ QSize QLCDNumber::sizeHint() const { return QSize(10 + 9 * (digitCount() + (smallDecimalPoint() ? 0 : 1)), 23); }