Dziękuje za podpowiedź już sobie z tym poradziłem, znalazłem w CodeBlocks opcję tryby Release, problemem było wychodzenie poza zakres typu double, zmieniłem na long double. Tylko teraz pojawił się problem, ponieważ gdy zapisuje liczbę long double do pliku np. liczba 3 to zostaje zapisana ona jako -2.000000. Jak sobie z tym poradzić? Używam polecenie fprintf.
Nie, nie chodzi mi o to po prostu chciałem samemu dojść do rozwiązania mojego problemu.
Oto mój kod:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main()
{
int bez_jedynki;
unsigned long long int zakres;
double suma = 0;
long double liczba = 1;
printf("Prosze podac zakres liczb, maksymalny zakres to 18 446 744 073 709 551 615: \n");
printf("Zakres: ");
scanf("%llu", &zakres);
char napis[21];
printf("\nTrwa liczenie...");
for(unsigned long long int i = 1; i <= zakres; i++)
{
bez_jedynki = 1;
itoa( i, napis, 10);
if(strchr(napis,'1') != NULL)
bez_jedynki = 0;
if(bez_jedynki == 1)
suma = suma + (1/liczba);
liczba++;
}
printf("\n\nSuma ciagu wynosi: %f \n\n", suma);
return 0;
}
Czy ten program będę mógł uruchomić na systemie 32-bitowym? Skoro używam liczb 64-bitowych?