Advertisement
Kormashin

9.1.16

Jan 9th, 2016
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.65 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace NODER
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Console.WriteLine("Please enter a number");
  13. long num = long.Parse(Console.ReadLine());
  14. while (num > 0)
  15. {
  16. if (perfectNum(num)== true) // Perfect Number
  17. {
  18. Console.WriteLine("The number " + num + " is a perfect number");
  19. }
  20. else
  21. {
  22. Console.WriteLine("The number " + num + " is not a perfect number");
  23. }
  24. if (Rising(num) == true) // Rising
  25. {
  26. Console.WriteLine(num + " is a Rising number");
  27. }
  28. else
  29. {
  30. Console.WriteLine(num + " is not a Rising number");
  31. }
  32. if (ReallyRising(num) == true) // Rising
  33. {
  34. Console.WriteLine(num + " is a Really Rising number");
  35. }
  36. else
  37. {
  38. Console.WriteLine(num + " is not a Really Rising number");
  39. }
  40. if (Descending(num) == true) // Rising
  41. {
  42. Console.WriteLine(num + " is a Descending number");
  43. }
  44. else
  45. {
  46. Console.WriteLine(num + " is not a Descending number");
  47. }
  48. if (ReallyDescending(num) == true) // Rising
  49. {
  50. Console.WriteLine(num + " is a Really Descending number");
  51. }
  52. else
  53. {
  54. Console.WriteLine(num + " is not a Really Descending number");
  55. }
  56. if (Palindrome(num) == true) // Palindrome
  57. {
  58. Console.WriteLine(num + " is a Palindrome number");
  59. }
  60. else
  61. {
  62. Console.WriteLine(num + " is not a Palindrome number");
  63. }
  64. if (Mersenne(num) == true) //Mersenne
  65. {
  66. Console.WriteLine(num + " is a Mersenne number");
  67. }
  68. else
  69. {
  70. Console.WriteLine(num + " is not a Mersenne Prime number");
  71. }
  72. if (Prime(num) == true)
  73. {
  74. Console.WriteLine(num + " is a Prime number");
  75. if (GPrime(num) == true) // Germain Prime
  76. {
  77. Console.WriteLine(num + " is a Germain Prime number");
  78. }
  79. else
  80. {
  81. Console.WriteLine(num + " is not a Germain Prime number");
  82. }
  83. if (FirstTwinPrime(num) == true)
  84. {
  85. Console.WriteLine(num + " is a First Twin Prime number");
  86. }
  87. else
  88. {
  89. Console.WriteLine(num + " is not a First Twin Prime number");
  90. }
  91. if (SecondTwinPrime(num) == true)
  92. {
  93. Console.WriteLine(num + " is a Second Twin Prime number");
  94. }
  95. else
  96. {
  97. Console.WriteLine(num + " is not a Second Twin Prime number");
  98. }
  99. if (Mersenne(num) == true)
  100. {
  101. Console.WriteLine(num + " is a Prime and a Mersenne number");
  102. }
  103. else
  104. {
  105. Console.WriteLine(num + " is not a Prime and a Mersenne number");
  106. }
  107. }
  108. else
  109. {
  110. Console.WriteLine(num + " is not a Prime numeber");
  111. Console.WriteLine("--------------------------------------------");
  112. }
  113. Console.WriteLine("Please enter a number");
  114. num = long.Parse(Console.ReadLine());
  115. }
  116. }
  117. public static bool perfectNum(long num)
  118. {
  119. Console.WriteLine("-----------------Perfect ?---------------------");
  120. long sum = 1;
  121. Console.Write("1");
  122. for (long i = 2; i < num; i++)
  123. {
  124. if (num % i == 0)
  125. {
  126. Console.Write("+" + i);
  127. sum = sum + i;
  128. }
  129. }
  130. if (sum == num)
  131. {
  132. Console.Write("=" + num);
  133. Console.WriteLine("");
  134. return true;
  135. }
  136. else
  137. {
  138. Console.Write("!=" + num);
  139. Console.WriteLine("");
  140. return false;
  141. }
  142. }
  143. public static bool Rising(long num)
  144. {
  145. Console.WriteLine("-----------------Rising & Descending---------------------");
  146. long digits = getDigits(num);
  147. long last = num % 10;
  148. num = num / 10;
  149. long counter = 1;
  150. while (num > 0)
  151. {
  152. if (num % 10 <= last)
  153. {
  154. counter++;
  155. }
  156. last = num % 10;
  157. num = num / 10;
  158. }
  159. if (counter == digits)
  160. {
  161. return true;
  162. }
  163. return false;
  164. }
  165. public static bool ReallyRising(long num)
  166. {
  167. long digits = getDigits(num);
  168. long last = num % 10;
  169. num = num / 10;
  170. long counter = 1;
  171. while (num > 0)
  172. {
  173. if (num % 10 < last)
  174. {
  175. counter++;
  176. }
  177. last = num % 10;
  178. num = num / 10;
  179. }
  180. if (counter == digits)
  181. {
  182. return true;
  183. }
  184. return false;
  185. }
  186. public static bool Descending(long num)
  187. {
  188. long digits = getDigits(num);
  189. long last = num % 10;
  190. num = num / 10;
  191. long counter = 1;
  192. while (num > 0)
  193. {
  194. if (num % 10 >= last)
  195. {
  196. counter++;
  197. }
  198. last = num % 10;
  199. num = num / 10;
  200. }
  201. if (counter == digits)
  202. {
  203. return true;
  204. }
  205. return false;
  206. }
  207. public static bool ReallyDescending(long num)
  208. {
  209. long digits = getDigits(num);
  210. long last = num % 10;
  211. num = num / 10;
  212. long counter = 1;
  213. while (num > 0)
  214. {
  215. if (num % 10 > last)
  216. {
  217. counter++;
  218. }
  219. last = num % 10;
  220. num = num / 10;
  221. }
  222. if (counter == digits)
  223. {
  224. return true;
  225. }
  226. return false;
  227. }
  228. public static bool Palindrome(long num)
  229. {
  230. Console.WriteLine("-----------------Palindrome ?---------------------");
  231. long temp = num; // for defining num to its back after doing actions with num
  232. long digits = getDigits(num);
  233. long last;
  234. long rev = 0;
  235. long pow = 1;
  236. for (long i = 1; i <= (digits - 1); i++)
  237. {
  238. pow = pow * 10;
  239. }
  240. while (num > 0)
  241. {
  242. last = num % 10;
  243. rev = rev + (last * pow);
  244. num = num / 10;
  245. pow = pow / 10;
  246. }
  247. num = temp;
  248. Console.WriteLine("The input number is " + num);
  249. Console.WriteLine("Its reverse " + rev);
  250. if (num == rev)
  251. {
  252. return true;
  253. }
  254. else
  255. {
  256. return false;
  257. }
  258. }
  259. public static bool Mersenne(long num)
  260. {
  261. Console.WriteLine("-----------------Mersenne ?---------------------");
  262. long digits = getDigits(num);
  263. long pow = 1;
  264. for (long i = 1; i <= num; i++)
  265. {
  266. if ((2 * pow) - 1 == num)
  267. {
  268. return true;
  269. }
  270. pow++;
  271. }
  272. return false;
  273. }
  274. public static bool Prime(long num)
  275. {
  276. Console.WriteLine("-----------------Prime ?---------------------");
  277. for (long i = 2; i <= num - 1; i++)
  278. {
  279. if (num % i == 0)
  280. {
  281. return false;
  282. }
  283. }
  284. return true;
  285. }
  286. public static bool GPrime(long num)
  287. {
  288. Console.WriteLine("-----------------GPrime ?---------------------");
  289. for (long i = 2; i <= (((num * 2) + 1) - 1); i++)
  290. {
  291. if (((num * 2) + 1) % i == 0)
  292. {
  293. return false;
  294. }
  295. }
  296. return true;
  297. }
  298. public static bool FirstTwinPrime(long num)
  299. {
  300. Console.WriteLine("-----------------FirstTwinPrime ?---------------------");
  301. for (long i = 2; i <= (num + 2) - 1; i++)
  302. {
  303. if ((num + 2) % i == 0)
  304. {
  305. return false;
  306. }
  307. }
  308. return true;
  309. }
  310. public static bool SecondTwinPrime(long num)
  311. {
  312. Console.WriteLine("-----------------SecondTwinPrime ?---------------------");
  313. for (long i = 2; i <= (num - 2) - 1; i++)
  314. {
  315. if ((num - 2) % i == 0)
  316. {
  317. return false;
  318. }
  319. }
  320. return true;
  321. }
  322. public static long getDigits(long num)
  323. {
  324. long digits = 0;
  325. while (num > 0)
  326. {
  327. if ((num / 10) >= 0)
  328. {
  329. digits++;
  330. }
  331. num = num / 10;
  332. }
  333. return digits;
  334. }
  335. }
  336. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement