十道C实现的一些趣味算法_第1页
十道C实现的一些趣味算法_第2页
十道C实现的一些趣味算法_第3页
十道C实现的一些趣味算法_第4页
十道C实现的一些趣味算法_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、class Program/ 求 500 到 999 范围内满足这样条件的数的个数:/ 这个数各个位置上的数的立方之和等于这个数的所有因子(因子不包括这个数本身)之和。/ 例如: 316 33+13+63=244 1+2+4+79+158=244 。 static void Main(string args)int sum = 0;for (int i = 500; i = 999; i+)int gw = i % 10;int sw = i / 10 % 10;int bw = i / 100 % 10;Program p = new Program();if (p.YinZiHe(i) =

2、 (gw * gw * gw + sw * sw * sw + bw * bw * bw) Console.WriteLine(i); sum = sum + i; Console.WriteLine( 最终和为 +sum);public int YinZiHe(int n)int sum = 0;for (int i = 1; i n; i+)if (n % i = 0)sum = sum + i;return sum;class Program值。/ 已知 A,B为正整数 , AB, A*B=2698,且要求 A+B取最小值, 求满足上述条件的 Bstatic void Main(stri

3、ng args)int sum = 10000;int minb = 0;for (int i = 1; i = 2698; i+)for (int j = i + 1; j = 2698; j+)int temp = i + j;if (i * j = 2698)if (temp sum)temp = sum; minb = j;Console.WriteLine( 最终 B 的值为 +minb); class Program? ?几?个?/ 求?s=a+aa+aaa+aaaa+aa.a 的?值| ,?其?中Da是o?一?个?数oy字?。/ 例y如?2+22+222+2222+22222(此

4、?时o?共2有?D5个?数 oy相 加?), 数oy相 加?有?D键1盘?控?制?。?static void Main( string args)int a = Convert .ToInt32( Console .ReadLine();int n = Convert .ToInt32( Console .ReadLine();int total = 0;for ( int i = 1; i = n; i+)int tempt = 0;for ( int j = 1; j = i; j+) tempt = tempt * 10 + a; total = total + tempt;Consol

5、e .WriteLine(total);四class Program/ 求 s=a+aa+aaa+aaaa+aa.a的值,其中 a 是一 个数字。/ 例如 2+22+222+2222+22222(此时共有 5 个数相加 ),几个数相加有键盘控制。 static void Main(string args)int a = Convert.ToInt32(Console.ReadLine();int n = Convert.ToInt32(Console.ReadLine();int total = 0;for (int i = 1; i = n; i+) int tempt = 0;for (i

6、nt j = 1; j = i; j+)tempt = tempt * 10 + a;total = total + tempt;Console.WriteLine(total);五、class Program/ 求3,15范围中各个素数的阶乘之和。 1!=1,2!=1X2,3! =1X2X3, static void Main(string args)int sum = 0; Program p = new Program(); for (int i = 3; i 16; i+)if (p.IsSuShu(i)int temp = 1;for (int j = 1; j = i; j+) t

7、emp = temp * j;sum = sum + temp;Console.WriteLine( 最终和为 + sum);public bool IsSuShu(int n)if (n = 1)return false;for (int i = 2; i n; i+)if (n % i = 0) return false;return true;class Program/ 求在 100, 1000之间的所有同构数的个数。/ (某正整数的平方,其低位与该数本身相同,则称该数为同构数。/ 例如 252=625,625 的低位 25 与原数相同,则称 25 为同构数) static void

8、Main(string args)int count = 0;int inter;for (int i = 100; i = 1000; i+)inter = i * i;int temp = inter % 1000;if (temp = i)count+;Console.WriteLine(i); Console.WriteLine( 总数为: 0个 , count); 七 class Program static void Main(string args) / 若两个连续的自然数的乘积减 1 后是素数, 则称此两个连续自然数为友 数对,该素数称为友素数。/例如,由于 8*9-1=71

9、,因此, 8与 9是友数对, 71 是友素数。求 50, 250之间的友数对所对应的友素数之和。int sum = 0;int yousushu = 0; for (int i = 50; i = 250; i+)int i1 = i;int i2 = i + 1; yousushu = i1 * i2 - 1; Program p = new Program(); if (IsSuShu(yousushu) Console.WriteLine(yousushu); sum = sum + yousushu; Console.WriteLine( 最终和是 + sum);public stat

10、ic bool IsSuShu(int n) for (int i = 2; i n; i+)if (n % i = 0)return false;return true;八、 class Program/ 直角三角形的三边( x,y,z)长度均为整数且小于等于 三角形有多少个。/ 例如: 3*3+4*4=5*5 ,它们构成直角三角形, (3,4,5) 3)等视为同一个三角形。static void Main(string args)int count = 0;for (int i = 1; i = 50; i+)for (int j = i; j = 50; j+)for (int k =

11、1; k = 50; k+)if (i * i + j * j) = k * k) count+; Console.WriteLine( 三条边分别为50,求所有这样的直角和( 4,3,5)及( 5,4,0,1,2, i, j, k);Console.WriteLine( 总数为: +count);九、namespace 数学家与强盗/ / 一位数学家和一些游客共 81 人不幸落入强盗手中,强盗把俘虏排成一队,宣 布每天处理所有第 2 的 N 次方个俘虏( N=0),而只放走剩下的最后一个。由于数学家身怀 重任,不得不选择了一个恰当的位置而最终被放走。请问他当初排在第几个位置。/ class

12、Programstatic void Main(string args)int people = new int82;int kill = new int 1, 2, 4, 8, 16, 32, 64 ;for (int i = 1; i 1)int count = 1;for (int j = 1; j 82; j+)if (peoplej != 99)if (kill.Contains(count)peoplej = 99; left-;count+;for (int i = 1; i 82; i+)if (peoplei != 99)Console.WriteLine( 剩余的认为第 0

13、,i); 十 namespace 福尔摩斯/ / 福尔摩斯到某古堡探险,看到门上写着一个奇怪的算式:ABCDE * ? = EDCBA。他对华生说:“ABCDE应该代表不同的数字,问号也代表某个数字! ”华生:“我猜也是! ”于 是,两人沉默了好久,还是没有算出合适的结果来。请你利用计算机的优势,找到破解的答 案。把 ABCDE 所代表的数字写出来。/ class Programstatic void Main(string args)for (int i = 10000; i = 99999; i+)if (i % 10 = 0) continue;int i1 = i / 10000;int i2 = i / 1000 % 10;if (i1 = i2)continue;int i3 = i / 100 % 10;if(i3 =i1|i3=i1)continue;int i4 = i / 10 % 10;if(i4=i1|i4=i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论