Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Работа с div (https://javascript.ru/forum/misc/38333-rabota-s-div.html)

bf_karatel 28.05.2013 15:34

Работа с div
 
Есть задание

Дано натуральное число n. Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение.Пример. n = 4548. Количество цифр с наименьшим значением равно двум (две цифры 4).

Реализовал следующим образом:

<html>
<head>
<script language="Javascript">
    var	mx=10
	var k=1
    var c
	var n=parseInt(prompt("Введите значение n"),10)
	while (n>0)
	{
	  c=n%10
	  if(c<mx)
	   {
	    mx=c
		k=1
	   }
	  else
	   if(c=mx)
	    k++
	   n/=10
	} 
	alert("Наименьшая цифра:"+mx+". В числе их:"+k)
</script>
</head>
</html>


Проблема возникает после n/=10 получается не целое число. и дальнейшие вычисления не идут. Как можно исправить??:help:

ksa 28.05.2013 15:50

Цитата:

Сообщение от bf_karatel
Дано натуральное число n. Определить количество цифр в цифровой записи данного числа, которые имеют наименьшее значение.

Как вариант...

var n=prompt("Введите значение n");
var i=0;
do {
	var r=new RegExp(i,'g');
	var k=n.length-n.replace(r,'').length;
	if (k==0) i++;
} while ((k==0) && (i<10));
if (k==0) {
	alert('В строке нет цифр...');
} else {
	alert('Минимальная цифра '+i+' встречается '+k+' раз.');
}

Hekumok 28.05.2013 17:59

var c,
min = 10,
k = 1,
n = parseInt(prompt("Введите значение n")) ;
while(n > 0) {
	c = n % 10 ;
	if(c < min) {
		min = c ;
		k = 1 ;
	} else if(c == min)
		k ++ ;
	n = Math.floor(n / 10) ;
} ;
alert("Наименьшая цифра - " + min + ". В числе их " + k + " шт.") ;


Часовой пояс GMT +3, время: 15:48.