Trilogy Interview Question
Computer ScientistsCountry: India
Interview Type: In-Person
Java Code
public void launch() {
Scanner scanner = new Scanner(System.in);
String str = null;
boolean repetition = false;
while(scanner.hasNext()) {
str = scanner.nextLine().toLowerCase();
int strLength = str.length();
for(int i = 1; i < strLength; i++) {
if(strLength % i == 0) {
String head = str.substring(0,i);
repetition = true;
for( int x = i; x < strLength; x += i) {
String current = str.substring( x, x + i);
if(!head.equals(current)) {
repetition = false;
break;
}
}
if(repetition == true) {
break;
}
}
}
System.out.println(repetition);
}
scanner.close();
}
#include <iostream>
#include <string>
using namespace std;
bool StringRepetition(string input)
{
int pointera, pointerb;
bool Repetation=true;
for (pointera= 2; pointera< input.length(); pointera++)
{
Repetation=true;
for (pointerb= 0; pointerb< input.length()-pointera; pointerb++)
{
if (input[pointerb]!=input[pointerb+pointera])
{
Repetation=false;
break;
}
}
if (Repetation==true)
{
break;
}
}
return Repetation;
}
int main() {
while(1)
{
string input;
cin>>input;
cout<<StringRepetition(input)<<endl;
}
return 0;
}
#include<stdio.h>
#include<conio.h>
int length(char str[]){
int i;
for(i = 0; str[i] != '\0'; i++);
return i--;
}
int main(){
char str[] = "abaaabaaabaa";
int len;
for(len = 1; len < length(str); len++){
int startIndex = 0;
int true = 1;
int i,j;
for(i = 0; str[i] != '\0';){
printf("%d\n",i);
for(j = 0; j < len; j++){
if(str[i++] != str[startIndex++]){
true = 0;
break;
}
}
if(!true)
break;
startIndex = 0;
}
if(true){
printf("True");
getch();
return;
}
}
printf("Not true");
getch();
}
#include<stdio.h>
#include<conio.h>
int length(char str[]){
int i;
for(i = 0; str[i] != '\0'; i++);
return i--;
}
int main(){
char str[] = "abaaabaaabaa";
int len;
for(len = 1; len < length(str); len++){
int startIndex = 0;
int true = 1;
int i,j;
for(i = 0; str[i] != '\0';){
printf("%d\n",i);
for(j = 0; j < len; j++){
if(str[i++] != str[startIndex++]){
true = 0;
break;
}
}
if(!true)
break;
startIndex = 0;
}
if(true){
printf("True");
getch();
return;
}
}
printf("Not true");
getch();
}
#include<stdio.h>
#include<conio.h>
int length(char str[]){
int i;
for(i = 0; str[i] != '\0'; i++);
return i--;
}
int main(){
char str[] = "abaaabaaabaa";
int len;
for(len = 1; len < length(str); len++){
int startIndex = 0;
int true = 1;
int i,j;
for(i = 0; str[i] != '\0';){
printf("%d\n",i);
for(j = 0; j < len; j++){
if(str[i++] != str[startIndex++]){
true = 0;
break;
}
}
if(!true)
break;
startIndex = 0;
}
if(true){
printf("True");
getch();
return;
}
}
printf("Not true");
getch();
}
Why is this one false, abc is repeated:
- Anon October 01, 2014Abcabcabcx - false