Digite um número e veja se ele pertence à sequência de Fibonacci
Aguardando...
Exemplo
const checkIsFibonacci = useCallback((num: number): string => {
let a = 0;
let b = 1;
let next = 0;
while (next < num) {
next = a + b;
a = b;
b = next;
}
return next === num || num === 0
? {num} pertence à sequência de Fibonacci.
: {num}" não pertence à sequência de Fibonacci.;
}, []);Digite uma frase e veja quantas vezes a letra "a" aparece nela.
Aguardando...
Exemplo
const isA = useCallback((char: string): boolean => {
return ["a", "à", "á", "â", "ã"].includes(char.toLowerCase());
}, []);
const countAs = useCallback(
(words: string): string => {
const phrase = words.split("");
const count = phrase.filter(isA).length;
return count > 1
? A letra "a" aparece {count} vezes em "{words}".
: count === 1
? A letra "a" aparece 1 vez em "{words}".
: A letra "a" não aparece em "{words}";
},
[isA]
);int INDICE = "número escolhido", SOMA = 0, K = 1; K < INDICE faça K = K + 1; SOMA = SOMA + K; Digite um número, e veja o valor do processado da variável SOMA!
Aguardando...
Exemplo
const calculateSum = useCallback((n: number): number => {
let sum = 0;
for (let i = 1; i <= n; i++) {
sum += i;
}
return sum;
}, []);4º Descubra a lógica e complete o próximo elemento:
Aguardando...
Exemplo
const handleCheckAnswer = useCallback(
(key: string) => {
const isCorrect =
parseInt(answers[key] as string) === correctAnswers[key];
const resultString = No item {key}, "{answers[key]}" está {
isCorrect ? "Correto" : "Incorreto"
}.;
setResults((prev) => ({
...prev,
[key]: isCorrect ? resultString : {resultString} {hints[key]},
}));
setCounters((prev) => ({ ...prev, [key]: 5 }));
setDisabledButtons((prev) => ({ ...prev, [key]: true }));
setDisabledInputs((prev) => ({ ...prev, [key]: true }));
setAnswers((prev) => ({ ...prev, [key]: "" }));
initiateCounter(key);
},
[answers, initiateCounter]
);O que você faz primeiro?
O que você faz ao entrar na sala das lâmpadas?
Como identifica cada interruptor?
Aguardando...
Exemplo
const handleSubmit = () => {
if (isLocked || intervalRef.current) return;
let score = 0;
answersOptions.forEach((q, index) => {
if (selectedAnswers[index] === q.correct) {
score++;
}
});
setResult(Você acertou {score} de {answersOptions.length} perguntas.);
setIsLocked(true);
setCountdown(5);
intervalRef.current = setInterval(() => {
setCountdown((prev) => {
if (prev <= 1) {
clearInterval(intervalRef.current!);
intervalRef.current = null;
setIsLocked(false);
return 0;
}
return prev - 1;
});
}, 1000);
};