Pomoc w zadaniu

FI
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 5 lat
  • Postów:4
0

Witam, potrzebuję pomocy w napisaniu programu. Kompletnie nie rozumiem co mam zrobić i jak się do tego zabrać:

Napisz program, który wykorzystuje funkcje, która przy każdym kolejnym wywołaniu funkcji main drukuje liczbę naturalna, zaczynajac od liczby 2 będąca wielokrotnością liczby poprzedniej. Wartość końcowa nie może przekroczyć 1000. Program musi być optymalny , należy wykorzystać zmienne statyczne.

lion137
  • Rejestracja:ponad 8 lat
  • Ostatnio:mniej niż minuta
  • Postów:4946
0

Wołąnie funkcji main jest UB.


FI
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 5 lat
  • Postów:4
0

Tak niestety wyglada treść zadania. Może jakas propozycja jak w ogóle zacząć?

lion137
W standarcie jest UB, ale Zobacz co się dziej u Ciebie.
TomaszLiMoon
  • Rejestracja:prawie 10 lat
  • Ostatnio:dzień
  • Postów:530
0
Kopiuj
int print()
{
     static int i {2};
     return i*i>1000 ? i : i*=i;
}
edytowany 1x, ostatnio: TomaszLiMoon
FI
  • Rejestracja:prawie 6 lat
  • Ostatnio:około 5 lat
  • Postów:4
0

Dalej nie kumam. To zadanie wydaje się kompletnie nielogiczne.

SI
  • Rejestracja:prawie 14 lat
  • Ostatnio:około 4 godziny
0

Może masz wywołać jakąś funkcję z funkcji main? To będzie mieć dużo więcej sensu

TomaszLiMoon
  • Rejestracja:prawie 10 lat
  • Ostatnio:dzień
  • Postów:530
0

Podejrzewam że w treści zadania jest błąd. Zamiast "która przy każdym kolejnym wywołaniu funkcji main" może powinno być "* która przy każdym kolejnym wywołaniu funkcji z main*".
Wtedy zadanie od razu nabiera sensu.

lion137
  • Rejestracja:ponad 8 lat
  • Ostatnio:mniej niż minuta
  • Postów:4946
0

Tak, w ten sposób to ma więcej sensu, nie było podane jaka wielokrotność, więc jest parametrem; pętla, oczywiście, wystarczy do 10:

Kopiuj
void multiple_cnt(int n) {
	static int cnt = 1;
	cnt *= n;
	if (cnt > 1000) 
		return;
	printf("%d ", cnt);
}

int main() {
	int n = 3;
	for (int i = 0; i < 10; i++) {
		multiple_cnt(n);
	}
	return 0;
}

edytowany 1x, ostatnio: lion137

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.