내 목표는 사용자 입력이 완벽한 숫자인지 아닌지 확인하는 프로그램을 만드는 것입니다. 입력 된 숫자에 대한 유효성 검사가 있습니다. 입력이 완벽한 숫자라면, 나는 각 약수를 인쇄하고 싶습니다. 이 방법을 사용하여 시도 :완벽한 수를 확인하고 제수를 인쇄 하시겠습니까?
{
for(int number=2; number <= 10000 ; number++)
perfect(number);
return 0;
}
void perfect(int number)
{
int total = 0;
for (int i = 1; i < number; i++)
{
if (number % i == 0)
total += i;
}
if (number == total)
{
for (int x = 1; x < number; x++)
{
if (number % x == 0)
cout << x << " + ";
}
cout << " = " << number << endl;
}
}
그러나 원하는 효과를 얻을 수 없습니다. 나는 자바 스크립트에 아주 익숙하고 올바른 방식으로 코드를 삽입하는 데 어려움을 겪고있다. 누구든지 원하는 효과를 얻을 수있는 방법에 대한 제안이 있습니까? 나는 숫자가 완벽하지 않은 경우 번호가 완벽하고 null
경우 약수의 배열을 반환하기 위해 is_perfect()
기능을 수정하는 게 좋을 것
function check_prime() {
var input = document.getElementById("enteredNumber").value;
var number = parseInt(input);
if (isNaN(number)) {
alert("Oops! Please enter a valid number.");
document.getElementById("enteredNumber").value="";
document.getElementById("result").innerHTML = "";
document.getElementById("enteredNumber").focus();
}
else if (input.length === 0) {
alert("Please enter a number.");
document.getElementById("enteredNumber").focus();
}
else if (!isNaN(number)) {
if (is_perfect(number)) {
document.getElementById("answer").innerHTML = "Congratulations! " + number + " is a perfect number." ;
}
else {
document.getElementById("answer").innerHTML = "I'm sorry. " + number + " is not a perfect number. Try Again.";
}
}
else {
document.getElementById("answer").innerHTML = "Please enter a number.";
}
}
function is_perfect(number)
{
var temp = 0;
for(var i=1;i<=number/2;i++)
{
if(number%i === 0)
{
temp += i;
}
}
if(temp === number)
{
return true;
}
else
{
return false;
}
}
function clear_textbox(){
document.getElementById("answer").innerHTML = "";
document.getElementById("enteredNumber").value="";
document.getElementById("enteredNumber").focus();
}
달성하지 못한 효과는 무엇입니까? – foxinatardis