| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > Целочисленная функция |
| Автор: ДобренькийПапаша 14.1.2006, 17:49 |
| Целочисленная функция f(K)=K^3-25*K^2+50*K+1000 определена только для целых значений аргумента K. Составить программу вычисления значений функции f(K) для 20 значений аргумента K в интервале (-30;60) с выводом лишь тех значений, которые удовлетворяют заданному условию и подсчётом остальных значений. |
| Автор: sergejzr 14.1.2006, 19:39 | ||
Там правда надо мозгами думать, в каком (каких) интервале/ах значения будут между -30 и 60 это ведь полином 3 степени (не от MIN_INT до MAX_INT же проверять...) Если я условия правильно понял.. |
| Автор: ДобренькийПапаша 14.1.2006, 20:40 |
| #include <math.h> #include <iostream.h> int f(int K) { return pow(K,3)-25*pow(K,2)+50*K+1000; } int main() { int interval_begin=0,interval_end=1000; for(int K=interval_begin;K<=interval_end;K++) { int result=f(K); if(result>=-30&&result<=60) cout << "f(" << K << ")=" << result << endl; } } при выполнении этого кода происходит выход из программы и пишет Loaded 'ntdll.dll', no matching symbolic information found. Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found. The thread 0x570 has exited with code 975051000 (0x3A1E18F8). The program 'C:\Программы для учёбы\Visual C++\MSDev98\MyProjects\Function\Debug\Function.exe' has exited with code 975051000 (0x3A1E18F8). |
| Автор: darkart 14.1.2006, 22:42 | ||
Ну если, в остальном все ок, то
|
| Автор: ДобренькийПапаша 15.1.2006, 12:06 |
| Выполняется программа, он выдаёт f(10)=0 f(20)=0 Это правильно? Почему именно f(10) и f(20)? |
| Автор: sergejzr 15.1.2006, 12:28 |
| Потому что в 10 и 20 по иксу повидимому пересечение с абсциссой идёт. ты бы хоть функцию нарисовал сперва, что ли |