Простенькая задачка на Си
Дано натуральное число n (число слагаемых). Вычислить: √(2+√(2+...+√(2)))
Я написал код, который должен работать, но вместо этого, компьютер выдает мне √(2)=1 Код:
#include <stdio.h> |
неужели никто не знает?
|
Код:
#include <stdio.h> |
Немного разобрался.
1) Почему у вас выводится на корень(2) - 1 дело в том, что a / b , где a и b это целые числа, вернет целочисленное деление a на b. Ну а в вашем случае поскольку j - целое, 1 тоже целое и j > 1 то вернет 0. Для того, чтобы вернуло число с плавающей точкой то необходимо, чтобы одно из чисел было вещественным. В вашем случае можно написать так 1. / j 1. это тоже самое, что и 1.0 т.е. компилятор "понимает", что это вещественное число и вернет 0,5 2) Ваша программа вычисляет не то, что вы указали в условии, а такое: √2 + √√2 + √√√2 + ... |
спасибо. теперь разобрался в чем проблема...
|
Часовой пояс GMT +4, время: 06:01. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.