Project Euler'de sorulan soru aşağıda. 1'den 1000'e kadar 3'e ve/veya 5'e bölünen sayıları ve kaç tane olduklarını bulacağım.
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
İkinci else if'te k'yı azaltmamın sebebi 3'e ve 5'e bölünen sayıları 2 kere saymasını engellemek. Örneğin 15 hem 3'e hem 5'e bölünür. Bir kere sayması için if şartını koydum.
#include<stdio.h>
#include<conio.h>
main(){
int i,k=0;
for(i=1;i<=1000;i++)
{
if(i%3==0)
{
printf("%d ",i);
k++;
}
else if(i%5==0)
{
printf("%d ",i);
k++;
}
else if((i%3==0)&&(i%5==0))
{
k--;
}
else
{
continue;
}
}
printf("\n\n\n3 ve 5'in kati olan %d sayi var",k);
getch();
}
0 yorum:
Yorum Gönder