бүтін сантағы бүтінді табу пәрмені қандай?

мысалы, менің файлымнан 2 бүтін сандарды алатын c ++ бар. Мысалы, int a = 2052342 және int b = 2 болады. Егер b ішінде орналасқан болса, іздеуге болатын іздеуді орындау керек. Мәселен, бұл мысалда b b ішінде, бірақ егер b болса, мысалы 7 болмайды. Мен қандай функцияны қолдануға тиіспін және оны тез демонстрациялай аласыз ба? Өңдеу: Жоқ, бұл үй тапсырмасы емес, мен биылғы бағдарламашылар олимпиадасымен бәсекеге түсемін, сондықтан бағдарламалаушылардың соңғы олимпиадаларында өткен барлық C ++ жаттығуларын бағдарламалаудамын.

2
Бұл талап соншалықты жасанды, үй тапсырмасы болуы керек. Бұл шын мәнінде мұғалімнің тағайындалған оқу жаттығуы ме?
қосылды автор Robᵩ, көзі
Сандардың біреуінің «ішкі» болуының нені білдіретінін анықтаңыз. Оператордың «ішіндегі» ешқандай себебі жоқ ...
қосылды автор tenfour, көзі
Жоқ, бұл үй тапсырмасы емес, мен биылғы бағдарламашылар олимпиадасымен бәсекеге түсемін, сондықтан бағдарламадағы соңғы олимпиадаларда өткен барлық C ++ жаттығуларын бағдарламалаймын.
қосылды автор Y2ok, көзі

2 жауаптар

Ең қарапайым жауап - бұл өз нөмірінде сандарды сақтау ұсыну және std :: find пайдаланыңыз. Егер сізде сандар бар болса ішкі форматты және оларды жолға түрлендіру тым қымбат болар еді: a төменгі санды b тең болса, a% 10 == b дұрыс болады; a/= 10 төменгі санды алып тастайды. Мәселен:

while ( a != 0 && a % 10 != b ) {
    a /= 10;
}
return a != 0;

алдауды жасау керек.

3
қосылды

Сіз «b ішіндегі» дегенді білдіреді, сіз «int b» ішкі жолының «int a» ішінде екенін білесіз бе, егер B 205 немесе 234 болса бұл санақ?

Мүмкін, ең жақсы әдіс емес, бірақ жеткілікті қарапайым, әр бір бүтінді жолға айналдырып, содан кейін жолдың B - жолдың подстроксі екенін білу үшін ішкі жолды тексеріңіз.

Update: Infact, when you're parsing your file, i'd just read them in as string, don't even look at this as a problem of integers. You're just doing substring checks. Also, if you parse them as integers, you'd run in to 0-padding being lost.

Егер сіз бөлісу туралы немесе басқа бір нәрсе туралы айтсаңыз, бұл бөлісу арқылы жасалуы мүмкін.

3
қосылды
@Moo, Не айтқанымды дәл білмеймін, себебі ол негізгі бөлімнен немесе модульден гөрі күрделірек еді. Енді ОС-ның не айтқанын негізге ала ма?
қосылды автор Stealth Rabbi, көзі
сіз бөлімді емес, модульді білдіресіз бе?
қосылды автор Mooing Duck, көзі
Сәлем, Ия, бұл есептеледі. ОК оны жолға айналдырады.
қосылды автор Y2ok, көзі