Given an integer, n, find and print the number of letter a’s in the first letters of S(String)
n <= 10^6
Örneğin:
s = “abcac”
n = 10
Yeni String = “abcacabcac” (n haneli oldu ve tekrar edebildiği kadar tekrar etti)
Bizden istenen ise string içerisindeki a karakterinin sayısı: sonuç olarak 4
Çözüm:
n/s yapıldığı zaman kaç kere birinci string kümesinin kaç kere repeat yapıldığını bulabilirim. Örnekte kalan 0 ve bölüm ise 2. S içerisinde 2 adet a vardı. 2*2 den 4 adet olacağını anlıyorum. Eğer kalan olsaydı ayrıca for döngüsünü kalan sayısı kadar dönüp a ların sayısnı bulabilirim
long repeatedString(char* s, long n) { long strCount = strlen(s); long aCount = 0; for (int i = 0; i < strCount; i++) { if(s[i] == 'a'){ aCount++; } } long reminder = n % strCount; long division = n / strCount; aCount = aCount * division; for (int i = 0; i < reminder; i++) { if(s[i] == 'a'){ aCount++; } } return aCount; }