class LongNumber
{
public static readonly String[] symbols = { " ", "k", "m", "b", "$", "!", "#" };
List<short> values = new List<short>();
public LongNumber(){
foreach(var s in symbols )
values.Add(0);
}
public string getValue(bool isFull = false){//true полный вывод, false только более
if (isFull)
return String.Join(" ",values.Select((v, i) => v + symbols[i]));
var inx = symbols.Length;
while(inx > 0 && values[--inx] == 0){};
return String.Format("{0} {1}", values[inx], symbols[inx]);
}
public LongNumber add(long value, String sym = " "){//добавить
if (value < 0){
sub(-value);
return this;
}
if (!symbols.Contains(sym))
throw new FormatException("Неизвестный символ");
var inx = symbols.ToList().IndexOf(sym);
value += values[inx];
values[inx] = Convert.ToInt16(value % 1000);
if (value >= 1000)
{
if (inx == symbols.Length - 1)
throw new OverflowException("Достинуто максимально большое значение");
add(Convert.ToInt64(Math.Floor((double)value / 1000)), symbols[inx + 1]);
}
return this;
}
public static LongNumber valToNumber(long val,string sym = " "){//Число в LongNumber
return new LongNumber().add(val,sym);
}
public bool isLarger(LongNumber ln){//Сравнение , true если this больше
for (int i = values.Count - 1; i >= 0; i--)
if (values[i] > ln.values[i])
return true;
else if (values[i] < ln.values[i])
break;
return false;
}
public LongNumber sub(long value, String sym = " "){//вычесть
if (value < 0){
add(-value);
return this;
}
if (!symbols.Contains(sym))
throw new FormatException("Неизвестный символ");
if(LongNumber.valToNumber(value,sym).isLarger(this))
throw new OverflowException("Вычитаемое число больше");
var inx = symbols.ToList().IndexOf(sym);
value = values[inx] - value;
values[inx] = Convert.ToInt16(value%1000);
if (value < 0){
if (values[inx] < 0)
values[inx] += 1000;
sub(Convert.ToInt64(Math.Ceiling(Math.Abs((double)value / 1000))), symbols[inx + 1]);
}
return this;
}
}
class Program
{
static void Main(string[] args)
{
LongNumber ln = new LongNumber();
Console.WriteLine(ln.getValue());
ln.add(1000);
Console.WriteLine(ln.getValue());
ln.add(123456);
Console.WriteLine(ln.getValue(true));
ln.add(1000,"m");
Console.WriteLine(ln.getValue(true));
ln.sub(124456);
Console.WriteLine(ln.getValue(true));
ln.sub(1,"b");
Console.WriteLine(ln.getValue(true));
ln.add(1234564564);
Console.WriteLine(ln.getValue(true));
ln.sub(234565000);
Console.WriteLine(ln.getValue(true));
ln.sub(999999564);
Console.WriteLine(ln.getValue(true));
ln.sub(-123);
Console.WriteLine(ln.getValue());
ln.add(-123);
Console.WriteLine(ln.getValue());
Console.ReadKey();
}
}
0
1 k
456 124k 0m 0b 0$ 0! 0#
456 124k 0m 1b 0$ 0! 0#
0 0k 0m 1b 0$ 0! 0#
0 0k 0m 0b 0$ 0! 0#
564 564k 234m 1b 0$ 0! 0#
564 999k 999m 0b 0$ 0! 0#
0 0k 0m 0b 0$ 0! 0#
123
0
echo hasRec($arr) ? "тут рекурсия":"тут нет рекурсий";
function hasRec($arr){
ob_start();
var_dump($arr);
return preg_match("/^\s*\*RECURSION\*\s*$/umi",ob_get_clean());
}
function LetterChanges(str) {
str = str.split("").map((s)=> {
if(s.search(/[a-zA-Z]/) != -1){
var s =String.fromCharCode(97 + (s.charCodeAt()-96)%26);
if(["a", "e", "i", "o", "u"].includes(s))
s = s.toUpperCase();
}
return s;
});
return str.join('');
}
this.sum = this.x+this.y
if(random.NextDouble() <= 0.8){
//из questionList
}
else{
//из sentenceList
}
function b64EncodeUnicode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
function toSolidBytes(match, p1) {
return String.fromCharCode('0x' + p1);
}));
}
function b64DecodeUnicode(str) {
return decodeURIComponent(atob(str).split('').map(function(c) {
return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
}).join(''));
}
console.log(b64EncodeUnicode('"><script scr=http://domain.com/script.js></script>'));//IiZndDsmbHQ7c2NyaXB0IHNjcj1odHRwOi8vZG9tYWluLmNvbS9zY3JpcHQuanMmZ3Q7Jmx0Oy9zY3JpcHQmZ3Q7
console.log(b64DecodeUnicode('IiZndDsmbHQ7c2NyaXB0IHNjcj1odHRwOi8vZG9tYWluLmNvbS9zY3JpcHQuanMmZ3Q7Jmx0Oy9zY3JpcHQmZ3Q7'));//"><script scr=http://domain.com/script.js></script>
function getScore(arr) {
var scores = [40,100,300,1200];
var cleared = 0;
var score = 0;
arr.forEach((el)=>{
if(el != 0){
var level = parseInt(cleared/10);
score+= scores[el-1] + (scores[el-1]*level);
cleared+=el;
}
});
return score;
}
counting = 0;
counting -= 10;
var angle = Math.Atan2(mousey - objy, mousex - objx);
var speed = 10*deltaTime;
objx += Math.cos(angle) * speed;
objy += Math.sin(angle) * speed;
SELECT p.* FROM posts as p
WHERE (SELECT COUNT(*) FROM tags as t LEFT JOIN post_tag as pt ON pt.tag_id = t.id WHERE pt.post_id = p.id) = 3
AND
(SELECT COUNT(*) FROM tags as t LEFT JOIN post_tag as pt ON pt.tag_id = t.id WHERE pt.post_id = p.id AND t.id IN (1,2,3) ) = 3
document.querySelectorAll("#input_1,#input_2").forEach((el)=>{
el.addEventListener("input",()=>{
if (document.getElementById("input_1").value === '' || document.getElementById("input_2").value === '')
document.getElementById("btn").disabled = true;
else
document.getElementById("btn").disabled = false;
});
});