Вычислить отношение произведения цифр натурального числа к их сумме
In
Первая строка стандартного потока ввода содержит количество тестов Т.
Каждый тест - заданное в отдельной строке натуральное N, не превышающее 2 ⋅ 109.
Out
Для каждого теста выведите в отдельную строку искомое отношение с точностью до 3-х цифр после десятичной точки.
Exm
_In__________Out____
2 |2.000 |
36 |2.000 |
63 | |
--------------------
#include <iostream>
#include <stdio.h>
using namespace std;
int main(){
long long int T, i, j;
long long int n, sum, mult;
long long int h, a;
long double k;
float r;
cin >> T;
for (i = 0; i < T; i++) {
cin >> n;
sum = 0;
mult = 1;
while (n > 0){
sum = sum + (n % 10);
mult = mult * (n % 10);
n = n / 10;
}
k = mult / sum;
//r = mult / sum;
printf("%.3lf\n", k);
//printf("%.3lf\n", r);
//cout << sum << endl;
//cout << mult << endl;
}
return 0;
}
_In__________Out____
63 |2.000 |
36 |2.000 |
18 |0.000 |
85 |3.000 |
--------------------
В чем проблема?!
Почему отношение 8 к 9 = 0?
Источник: Stack Overflow на русском