Solução de Roger Benet, comentário por João Guilherme.
A solução usa somente um for. Primeiro lemos x e y, depois usamos um laço, começando no sucessor do menor entre x e y e terminando no antecessor do maior deles. Para cada número nesse intervalo, nós checamos se o número é impar, se ele for o adicionamos à nossa resposta.
Segue o código para melhor entendimento.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Autor: Roger Benet da Silva Souza - IFMT-BAG | |
#include <bits/stdc++.h> | |
using namespace std; | |
int x,y,s; | |
int main(){ | |
scanf("%d %d", &x ,&y); | |
for(int i = min(x,y) + 1; i < max(x,y); i++)if(i%2 != 0)s += i; | |
printf("%d\n",s); | |
return 0; | |
} |