Untitled
user_2031329
plain_text
a year ago
6.7 kB
6
Indexable
---------controller-- using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace sample_project.Controllers { public class HomeController : Controller { public ActionResult Index() { return View(); } public ActionResult About() { ViewBag.Message = "Your application description page."; return View(); } public ActionResult Contact() { ViewBag.Message = "Your contact page."; return View(); } public ActionResult Sample() { return View(); } public ActionResult Angle() { return View(); } public ActionResult AjaxSample() { return View(); } public ActionResult granville() { var data = new List<object>(); var num = Request["gran_number"]; if (string.IsNullOrEmpty(num)) { return Json(new { error = "Missing number parameter" }, JsonRequestBehavior.AllowGet); } int number; if (!int.TryParse(num, out number) || number <= 1) { return Json(new { error = "Invalid number format or not a positive integer greater than 1" }, JsonRequestBehavior.AllowGet); } int sumOfDivisors = 1; for (int i = 2; i <= number / 2; i++) { if (number % i == 0) { sumOfDivisors += i; } } double factorial = 1; for (int i = 2; i <= number; i++) { factorial *= i; } string formattedFactorial = FormatLargeNumber(factorial); if (sumOfDivisors == number) { data.Add(new { number = number, isGranville = true, factorial = formattedFactorial }); } else { data.Add(new { number = number, isGranville = false, factorial = "1" }); } return Json(data, JsonRequestBehavior.AllowGet); } private string FormatLargeNumber(decimal number) { string formattedNumber = number.ToString("0", System.Globalization.CultureInfo.InvariantCulture); return formattedNumber; } public ActionResult property() { var data = new List<object>(); var num = Request["pos_number"]; if (string.IsNullOrEmpty(num)) { return Json(new { error = "Missing number parameter" }, JsonRequestBehavior.AllowGet); } if (!int.TryParse(num, out int number) || number <= 0) { return Json(new { error = "Invalid number format or not a positive integer" }, JsonRequestBehavior.AllowGet); } int length = detLength(number); if (isSatisfyProperty(number)) { data.Add(new { number = number, length = length, satisfiesProperty = true }); } else { data.Add(new { number = number, length = length, satisfiesProperty = false }); } return Json(data, JsonRequestBehavior.AllowGet); } private int detLength(int num) { int count = 0; while (num != 0) { num /= 10; count++; } return count; } private bool isSatisfyProperty(int num) { int originalNum = num; int sumOfCubes = 0; while (num > 0) { int digit = num % 10; sumOfCubes += digit * digit * digit; num /= 10; } return sumOfCubes == originalNum; } } } -------------html @{ ViewBag.Title = "AjaxSample"; } <h4>Granville Numbers</h4> <br /> Enter a Positive Number: <input type="number" id="gran_number"/> <button id="subButton1">Submit</button> <p id="fact">Factorial: </p> <p id="ans_num">The Number is: </p> <h2>Property Numbers</h2> <br /> Enter a Positive Number: <input type="number" id="pos_number"/> <button id="subButton2">Submit</button> <p id="pro_num"></p> <script src="~/Scripts/Jquery File/jquery-3.7.1.min.js"></script> <script src="~/Scripts/myJquery/AjaxSamply.js"></script> --------------js $().ready(function () { $('#subButton1').click(function () { var gran_number = $('#gran_number').val(); if (!gran_number || isNaN(gran_number)) { alert("Please enter a valid positive number."); return; } $.post('../Home/granville', { gran_number: gran_number, }, function (data) { if (data.error) { alert(data.error); } else { var result = data[0].isGranville ? 'Granville' : 'Not Granville'; $('#ans_num').text('The Number is: ' + result); $('#fact').text('Factorial: ' + data[0].factorial); } } ); }); $('#subButton2').click(function () { var pos_number = $('#pos_number').val(); if (!pos_number || isNaN(pos_number) || parseInt(pos_number) <= 0) { alert("Please enter a valid positive number."); return; } $.post('../Home/property', { pos_number: pos_number, }, function (data) { if (data.error) { alert(data.error); } else { var result = data[0].satisfiesProperty ? 'Satisfy the property' : 'Does not satisfy the property'; $('#pro_num').text(result); } } ); }); });
Editor is loading...
Leave a Comment