安陆资讯网

         
当前位置: 主页 > 程序测试 >

C#数学黑洞

时间:2021-02-20 06:35 来源:网络整理 转载:安陆资讯网
2018-11-09 02:01 ( 29 ) | ( 4 ) | 低血压的长颈鹿 直接计算结果

2018-11-09 02:01 (29) (4)

低血压的长颈鹿

直接计算结果啊。。。 double result = Math.Abs(Math.Cos(Math.Sin(Math.Sqrt(10 + Math.Si

2018-11-09 03:21

渊鱼

可以应用java程序 随便输入一个四位数(完全相同除外),判断它是不是属于数学黑洞的情况,如果是则输出黑洞步数。再证明命题所说的所有四位数是否满足情况,只需要一个for循环就可以实现对命题的判断了。 关键的是,对于所输入的任意一个四位数,如何取得每个位的数字,然后就是排序,因为要最大的减最小的。最好只需判断相减的数是否等于6174。 程序代码HeiDong.javapackage p1;import org.my.KettasUtils;import java.util.Arrays;public class HeiDong{ public static void main(String[] args) { while(true) { System.out.println("\n输入一个4位整数(全相同数字除外)(0:退出):"); int input=KettasUtils.readInt(); if(input==0) break; else if(input%1111==0) { System.out.println("输入错误!"); System.exit(0); } else { int flag=0; //计算次数 do { input=he(fen(input)); //调用he()与fen()函数 flag++; } while(input!=6174&&flag<7); if(input==6174&&flag<=7) { System.out.println("计算了"+flag+"次,"+"命题为真!"); } else System.out.println("命题为假!"); } } } public static int[] fen(int input) // 拆分4位数 { int a[]=new int [4]; a[0]=input/1000; //千位数 input=input%1000; a[1]=input/100; //百位数 input=input%100; a[2]=input/10; //十位数 input=input%10; a[3]=input; // 个位数 Arrays.sort(a); //从小到大排序 return a; } public static int he(int a[]) //合并4位数,重新组成最大和最小的四位数 { Arrays.sort(a); int max=a[3]*1000+a[2]*100+a[1]*10+a[0]; //最大的四位数 int min=a[0]*1000+a[1]*100+a[2]*10+a[3]; //最小四位数 System.out.println(max+"-"+min+"="+(max-min)); return max-min; }}

2018-11-09 03:28

白昼之月

C#语句不熟悉,给出C语言参考程序示例,请自行转换程序中给出了绝大部分注释,以便理解代码中,为了便于理解,没有使用函数封装,均在主程序main中给出,需要的话,执行调整程序代码如下:(这里无法编辑格式,请执行调整格式)#include<stdio.h>int main(){int LOOP_MAX = 7; //最大循环次数(本例为:7)int TARGET = 6174;int test_number; //测试数据int i,j,k,m; //循环变量int loops; //循环步数,供输出int result; //数学黑洞测试结果,只取:0,表示结论不成立;1,表示结论成立int temp_number,temp_max,temp_min; //用于操作测试数据,中间变量int digit[4]; //整形数组,用于存储4位测试数据或中间数据的每一位数字int temp; //中间变量printf("Please Enter A FOUR digits Positive Integer, Besides of XXXX Type Number:\n");scanf("%d",&test_number); //输入测试数据if(test_number <1000 test_number >9999) //输入数据有效性检查,不是4位数,退出程序{printf("The Number You Entered is Invalid!\n");return 0;}result = 0; //初始化resultloops = 0; //初始化loopstemp_number = test_number;for(i=0;i<LOOP_MAX;i++) //测试循环{for(j=0;j<4;j++) //分解测试数据或中间数据为4位数组{digit[j] = temp_number%10;temp_number = temp_number/10;}for(k=0;k<3;k++) //按照“升序”对4位数组排序{for(m=k+1;m<4;m++){if(digit[k] < digit[m]){temp = digit[k];digit[k] = digit[m];digit[m] = temp;}}}temp_max = 1000*digit[0] + 100*digit[1] + 10*digit[2] + digit[3];temp_min = 1000*digit[3] + 100*digit[2] + 10*digit[1] + digit[0];temp_number = temp_max - temp_min;loops++;if(temp_number == TARGET){result = 1;break;}}i=1;////////////输出测试结果//////////if(result == 0)printf("Oops! Test Failed, Where is The Mathematic Black Hole You Declared?\n");else{printf("Aha! Test Done! The Mathematic Black Hole DOES Exist!\n");printf("It Takes %d LOOPs to Test With the Test Numer: %d", loops, test_number);}return 0;}测试数据输出结果(部分)如下(真的没有找到例外!)

信息举报:如果感觉以上信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

------分隔线----------------------------
栏目列表
推荐内容