1-99 arası tek ve çift sayıların toplamını yapan algoritma

C:
#include <stdio.h>

int main(void) {
  int oddSum = 0;
  int evenSum = 0;

  for (int i = 1; i < 100; i++){
    if (i % 2 == 0) {
      evenSum += i;
    } else {
      oddSum += i;
    }
  }

  printf("Tek sayi toplami: %d\nÇift sayi toplami: %d", oddSum, evenSum);

  return 0;
}

@Cruslan üzgün suratın sebebi nedir?
 
#include<stdio.h>
int main(){
int k, i,sum1=0,sum2=0;

for(i=0;i<=99;i++){
if(i%2==0)

sum1+=i;
}

for(k=0;k<=99;k++){
if(k%2==1);

sum2+=k;
}

printf("Teklerin toplamı:%d",sum2);
printf("Ciftlerin toplami %d",sum1);
return 0;
}
 
Gauss yöntemini araştırırsan kısa işlemlerle sorunu çözebilirsin.
Bu seviyede sorunu döngüler ile çözmesi isteniyor olmalı.

#include<stdio.h>
int main(){
int k, i,sum1=0,sum2=0;

for(i=0;i<=99;i++){
if(i%2==0)

sum1+=i;
}

for(k=0;k<=99;k++){
if(k%2==1);

sum2+=k;
}

printf("Teklerin toplamı:%d",sum2);
printf("Ciftlerin toplami %d",sum1);
return 0;
}
İki döngüye gerek yok, işlem tek döngüde halledilebilir.
 
@Berkay Davas, büyük ihtimal ödev olarak verilen bir şeye kopya vermek yerine nasıl yapılacağına dair ipucu verebilirdiniz diye düşünüyorum.
Nasıl yardımcı olabilirim? Bu algoritmada kullanılan 3 şey var. Döngüler, sorgular ve modüler aritmetik.

Bu algoritma ile ilgili bir şey açıklamak pek mümkün değil.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı