Advertisement
Guest User

Untitled

a guest
Jan 9th, 2016
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.00 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 Fist Twin Prime number");
  86. }
  87. else
  88. {
  89. Console.WriteLine(num + " is not a Fist 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. if (num < 10)
  147. {
  148. return false;
  149. }
  150. long digits = getDigits(num);
  151. long last = num % 10;
  152. num = num / 10;
  153. long counter = 1;
  154. while (num > 0)
  155. {
  156. if (num % 10 <= last)
  157. {
  158. counter++;
  159. }
  160. last = num % 10;
  161. num = num / 10;
  162. }
  163. if (counter == digits)
  164. {
  165. return true;
  166. }
  167. return false;
  168. }
  169. public static bool ReallyRising(long num)
  170. {
  171. if (num < 10)
  172. {
  173. return false;
  174. }
  175. long digits = getDigits(num);
  176. long last = num % 10;
  177. num = num / 10;
  178. long counter = 1;
  179. while (num > 0)
  180. {
  181. if (num % 10 < last)
  182. {
  183. counter++;
  184. }
  185. last = num % 10;
  186. num = num / 10;
  187. }
  188. if (counter == digits)
  189. {
  190. return true;
  191. }
  192. return false;
  193. }
  194. public static bool Descending(long num)
  195. {
  196. if (num < 10)
  197. {
  198. return false;
  199. }
  200. long digits = getDigits(num);
  201. long last = num % 10;
  202. num = num / 10;
  203. long counter = 1;
  204. while (num > 0)
  205. {
  206. if (num % 10 >= last)
  207. {
  208. counter++;
  209. }
  210. last = num % 10;
  211. num = num / 10;
  212. }
  213. if (counter == digits)
  214. {
  215. return true;
  216. }
  217. return false;
  218. }
  219. public static bool ReallyDescending(long num)
  220. {
  221. if (num < 10)
  222. {
  223. return false;
  224. }
  225. long digits = getDigits(num);
  226. long last = num % 10;
  227. num = num / 10;
  228. long counter = 1;
  229. while (num > 0)
  230. {
  231. if (num % 10 > last)
  232. {
  233. counter++;
  234. }
  235. last = num % 10;
  236. num = num / 10;
  237. }
  238. if (counter == digits)
  239. {
  240. return true;
  241. }
  242. return false;
  243. }
  244. public static bool Palindrome(long num)
  245. {
  246. Console.WriteLine("-----------------Palindrome ?---------------------");
  247. long temp = num; // for defining num to its back after doing actions with num
  248. long digits = getDigits(num);
  249. long last;
  250. long rev = 0;
  251. long pow = 1;
  252. for (long i = 1; i <= (digits - 1); i++)
  253. {
  254. pow = pow * 10;
  255. }
  256. while (num > 0)
  257. {
  258. last = num % 10;
  259. rev = rev + (last * pow);
  260. num = num / 10;
  261. pow = pow / 10;
  262. }
  263. num = temp;
  264. Console.WriteLine("The input number is " + num);
  265. Console.WriteLine("Its reverse " + rev);
  266. if (num == rev)
  267. {
  268. return true;
  269. }
  270. else
  271. {
  272. return false;
  273. }
  274. }
  275. public static bool Mersenne(long num)
  276. {
  277. Console.WriteLine("-----------------Mersenne ?---------------------");
  278. long digits = getDigits(num);
  279. long pow = 1;
  280. for (long i = 1; i <= num; i++)
  281. {
  282. if ((2 * pow) - 1 == num)
  283. {
  284. return true;
  285. }
  286. pow++;
  287. }
  288. return false;
  289. }
  290. public static bool Prime(long num)
  291. {
  292. Console.WriteLine("-----------------Prime ?---------------------");
  293. for (long i = 2; i <= num - 1; i++)
  294. {
  295. if (num % i == 0)
  296. {
  297. return false;
  298. }
  299. }
  300. return true;
  301. }
  302. public static bool GPrime(long num)
  303. {
  304. Console.WriteLine("-----------------GPrime ?---------------------");
  305. for (long i = 2; i <= (((num * 2) + 1) - 1); i++)
  306. {
  307. if (((num * 2) + 1) % i == 0)
  308. {
  309. return false;
  310. }
  311. }
  312. return true;
  313. }
  314. public static bool FirstTwinPrime(long num)
  315. {
  316. Console.WriteLine("-----------------FirstTwinPrime ?---------------------");
  317. for (long i = 2; i <= (num + 2) - 1; i++)
  318. {
  319. if ((num + 2) % i == 0)
  320. {
  321. return false;
  322. }
  323. }
  324. return true;
  325. }
  326. public static bool SecondTwinPrime(long num)
  327. {
  328. Console.WriteLine("-----------------SecondTwinPrime ?---------------------");
  329. for (long i = 2; i <= (num - 2) - 1; i++)
  330. {
  331. if ((num - 2) % i == 0)
  332. {
  333. return false;
  334. }
  335. }
  336. return true;
  337. }
  338. public static long getDigits(long num)
  339. {
  340. long digits = 0;
  341. while (num > 0)
  342. {
  343. if ((num / 10) >= 0)
  344. {
  345. digits++;
  346. }
  347. num = num / 10;
  348. }
  349. return digits;
  350. }
  351. }
  352. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement