We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
Modified Kaprekar Numbers
Modified Kaprekar Numbers
+ 0 comments # ThinhNguyen97 """ I Miss Those Moments I Spent With You Kitchen Table Mirror Sofa """ # Python is scripting language use interpreter # import numpy as np # import matplotlib.pyplot as plt # import pandas as pd from math import * from builtins import staticmethod from collections import Counter from collections import defaultdict from collections import namedtuple from collections import deque from queue import LifoQueue import heapq import functools import hashlib from datetime import datetime, timedelta import json import re from itertools import * import queue from bisect import bisect_left def solve(p, q): kaprekar_list = [] for num in range(p, q + 1): square = num ** 2 square_str = str(square) length = len(str(num)) right_part = square_str[-length:] left_part = square_str[:-length] if square_str[:-length] else '0' if int(left_part) + int(right_part) == num: kaprekar_list.append(num) if kaprekar_list: print(*kaprekar_list) else: print("INVALID RANGE") def main(): p = int(input()) q = int(input()) solve(p, q) if __name__ == '__main__': main()
+ 0 comments Python 3 solution:
def is_kaprekar(n): sn = str(n * n) sn = '0' + sn if len(sn) % 2 else sn d = len(str(n)) return int(sn[-d:]) + int(sn[:-d]) == n def kaprekarNumbers(p, q): # Write your code here numbers = [] for i in range(p, q + 1): if is_kaprekar(i): numbers.append(str(i)) if len(numbers): print(*numbers) else: print("INVALID RANGE")
+ 0 comments C++ Solution:
int count = 0; for(int i = p; i <= q; i++) { unsigned long squared = (unsigned long) i*i; string str = to_string(squared); int str_size = str.length(); if(str_size == 1) { if(squared == (unsigned long)i) { cout << i << " "; count++; } } else if(str_size > 1) { //cout << "Squared: " << squared << ", " << stoi(str.substr(0,str_size/2)) << ", " << stoi(str.substr(str_size/2,str_size-1)) << endl; int left = stoi(str.substr(0,str_size/2)); int right = stoi(str.substr(str_size/2,str_size-1)); //cout << "Left: " << left << ", right: " << right << endl; int sum = left + right; if(sum == i) { cout << i << " "; count++; } } } if(count == 0) cout << "INVALID RANGE\n";
+ 0 comments C#
void kaprekarNumbers(int p, int q) { var hasModifiedKaprekarNum = false; while (p <= q) { var squareNumStr = ((long)Math.Pow(p, 2)).ToString(); var rightStrCnt = squareNumStr.Length % 2 == 0 ? squareNumStr.Length / 2 : squareNumStr.Length / 2 + 1; var leftStrCnt = squareNumStr.Length - rightStrCnt; var leftNum = leftStrCnt != 0 ? long.Parse(squareNumStr.ToString().Substring(0, leftStrCnt)) : 0; var rightNum = long.Parse(squareNumStr.ToString().Substring(leftStrCnt, rightStrCnt)); if (leftNum + rightNum == p) { Console.Write($"{p} "); hasModifiedKaprekarNum = true; } p++; } if (!hasModifiedKaprekarNum) Console.WriteLine("INVALID RANGE"); }
+ 0 comments javascript
function kaprekarNumbers(p, q) { let answer = []; function findlandr(n) { let numstr = n.toString(); let d = numstr.length; let sqnum = n * n; let sqnumstr = sqnum.toString(); let dsq = sqnumstr.length; let sqnumarr = sqnumstr.split(''); let rd = d; let ld = dsq - rd; let larr = []; let rarr = []; for (let i = 0; i < ld; i++) { larr.push(sqnumarr[i]); } let l = parseInt(larr.join('')); for (let i = ld; i < dsq; i++) { rarr.push(sqnumarr[i]); } let r = parseInt(rarr.join('')); return [l, r]; } for (let i = p; i <= q; i++) { let lr = findlandr(i); if (lr[0] + lr[1] === i) { answer.push(i); } } if (p === 1) { answer.unshift(1); } if(!answer.length){ console.log('INVALID RANGE') }else{ console.log(answer.join(' ')); } }
Load more conversations
Sort 992 Discussions, By:
Please Login in order to post a comment