Mam problem z zadaniem:
Napisz program, który wczytuje ze standardowego wejścia do-
datnią liczbę n i wypisuje na standardowym wyjściu sumę wszystkich
liczb mniejszych od n, względnie pierwszych z n.
Napisałem kod:
#include <stdio.h>
main()
{
int n , m , i , wynik=0;
printf("Podaj liczbe calkowita dodatnia n\n");
scanf("%d" , &n);
for( i=2 ; i <= n ; i++)
for( m = 1 ; m <= n ; m++)
if( ( i % m == 0) && ( n % m == 0 ))
{
continue;
}
else
wynik = i + wynik;
printf("wynik = %d" , wynik);
}
return 0;
}
W zamyśle mam, że użytkownik podaje liczbę, a program sprawdza wszystkie liczby po kolei , czy ich nwd = 1 , jeżeli tak to sumuje je.
Jednak coś poszło nie tak,
np dla n = 10:
<log> Podaj liczbe calkowita dodatnia n
10
wynik = 2wynik = 4wynik = 6wynik = 8wynik = 10wynik = 12wynik = 14wynik = 16wynik = 19wynik = 22wynik = 25wynik = 28wynik = 31wynik = 34wynik = 37wynik = 40wynik = 43wynik = 47wynik = 51wynik = 55wynik = 59wynik = 63wynik = 67wynik = 71wynik = 75wynik = 80wynik = 85wynik = 90wynik = 95wynik = 100wynik = 105wynik = 110wynik = 115wynik = 121wynik = 127wynik = 133wynik = 139wynik = 145wynik = 151wynik = 157wynik = 163wynik = 170wynik = 177wynik = 184wynik = 191wynik = 198wynik = 205wynik = 212wynik = 219wynik = 226wynik = 234wynik = 242wynik = 250wynik = 258wynik = 266wynik = 274wynik = 282wynik = 290wynik = 299wynik = 308wynik = 317wynik = 326wynik = 335wynik = 344wynik = 353wynik = 362wynik = 371wynik = 381wynik = 391wynik = 401wynik = 411wynik = 421wynik = 431
(program exited with code: 0)
Press return to continue
Wie ktoś może gdzie jest błąd? ;)