精华内容
下载资源
问答
  • 在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组;他既是完全平方数,又是两位数字相同,例如144,676等#include #include #include using namespace std; /* (2007)按要求输出:在三位...

    在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;他既是完全平方数,又是两位数字相同,例如144,676等

    #include <iostream>
    #include <stdio.h>
    #include <math.h>
    using namespace std;
    /*
        (2007)按要求输出:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;
            他既是完全平方数,又是两位数字相同,例如144,676等
    */
    int isSquere(int x)//判断是否是平方数
    {
        double y =(double)x;
        double temp = sqrt(y);
        int i = (int)temp;
        if(i*i == x){
            return 1;
        }
        else {
            return 0;
        }
    }
    
    int isTwoSame(int x)
    {
        int digit0 = x%10;
        int digit1 = (x/10)%10;
        int digit2 = x/100;
        return(digit0==digit1||digit0==digit2 ||digit1==digit2); //这里不知道有没有理解错误,三位数相同也算两位数相同
    }
    int main()
    {
        for(int i =100;i<1000;++i){
            if (isSquere(i)&&isTwoSame(i)){
                printf("%d\n",i);
            }
        }
    // 调试代码,原因是digit0 == digit2 写成digit0 ==digit1,找了半天
    //    int i =121;
    //    int a=2,b=1;
    //    a = isSquere(i);
    //    b = isTwoSame(i);
    //    if (isSquere(i)&&isTwoSame(i)){
    //        printf("i=%d,a=%d,b=%d\n",i,a,b);
    //    }
    //    printf("i=%d,a=%d,b=%d\n",i,a,b);
        return 0;
    }
    
    展开全文
  • 题目:我们称一个十进制正整数是幸运数当且仅当它只由数字4和...样例输入125样例输出6思路:输入一个整数,把该数转化为字符串,然后分别判断字符串每字符(即:整数)是否符合题目的要求。这里是4或者7组成的数才...

    题目

    我们称一个十进制正整数是幸运数当且仅当它只由数字4和7构成。现在给出一个正整数n,你需要计算有多少个不大于n的幸运数。由于答案可能非常大,你只需要输出答案除以109+7后的余数。
    输入
    第一行包含一个整数n。1≤n≤10100000
    输出
    输出对应的答案。

    样例输入
    125
    样例输出
    6

    思路:输入一个整数,把该数转化为字符串,然后分别判断字符串每位字符(即:整数)是否符合题目的要求。这里是4或者7组成的数才是幸运数,每位都有4或7,这两种可能。那么对于一个n位数来说,如果每位的数字都大于等于7的话,符合幸运数要求的就有2^n个,换而言之,如果只要有一位的数小于4,那该n位数是没有幸运数的。但是n-1位,n-2位......1位的幸运数可以求出。然后分别求n-1位,n-2位......1位符合幸运数要求的个数(其实这里是公比为2的等比数列,可以用公式求出来)。举个例子:样例输入1489,对于这个四位数来说,该四位数没有符合的幸运数。但是比该四位数小的三位数就有2^3个,二位数有2^2个,个位数有2个。

    代码如下:

    public class ShunFengBishi {
    	//判断一个整数是否符合幸运数
    	public static int adjugeNum(char c)
    	{
    		String s = String.valueOf(c);
    		int num = Integer.parseInt(s);
    		int re = 0;
    		if(num>=4 && num < 7) 
    		{
    			re = 1;
    		}else if(num >= 7)
    		{
    			re = 2;
    		}
    		return re;
    	}
    	//
    	public static int adLuckyNum(int num)
    	{
    		String str = num +"";
    		int count = 1;//保存n位数包含幸运数的个数
    		char[] ch = str.toCharArray();
    		int[] arr = new int[ch.length];//保存n位数中每位的包含幸运数的个数 
    		int sum = 0;
    		for(int i=0; i<ch.length; i++)
    		{
    			//如果其中有一位的数小于4,说明该n位数肯定不包含幸运数,所以都不用遍历该数了
    			if(adjugeNum(ch[i]) == 0)
    			{
    				break;
    			}
    			else 
    			{
    				arr[i] = adjugeNum(ch[i]);
    			}
    		}
    		//对arr数组进行遍历
    		for(int j=0; j<arr.length; j++)
    		{
    			count *= arr[j];
    		}
    		//算比n位数少几位的数的个数,如n-1、n-2、...1
    		if(ch.length-1 > 0)
    		{
    			sum = (int) (Math.pow(2, ch.length)-2);
    		}
    		
    		return count+sum;
    	}
    	//
    	public static void main(String[] args) 
    	{
    		Scanner sc = new Scanner(System.in);
    		while(sc.hasNext())
    		{
    			System.out.println(adLuckyNum(sc.nextInt()));
    		}		
    	}
    
    }
    
    这个题目是做笔试题的时候做的,当时没做出来,事后想看看大神的们解题思路,找了下,没找到。自己只能硬着头皮做了。如果,哪位大神有好的思路,望告知下,谢谢!







    展开全文
  • //请小于99999的正整数中符合下列条件的数,它既是完全平方数,又有两数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。 #include "stdafx.h" #include #include #include #...

     

    展开全文
  • 题目:请小于99999的正整数中符合下列条件的数,它既是完全平方数,又有两数字相同,如:144,676。用c语言编写(不能用数字转换成字符串)。 #include #include //函数havesamenum确认num是否满足条件 ...

    题目:请在小于99999的正整数中找符合下列条件的数,它既是完全平方数,又有两位数字相同,如:144676。用c语言编写(不能用数字转换成字符串)。

    #include<stdio.h>

    #include<math.h>

    //函数havesamenum确认num是否满足条件

    int havesamenum(int num)

    {

      int i=0,j;

      char a[10] = {0};

     

      while(num>0)

      {

       j=num%10;

       a[j]+=1;

       num=num/10;

      }

      while(a[i]<=1&&i<10)

       i++;

      if (i<10) 

       return 1;

    else 

       return 0;

    }

    void main(void)

    {

        int i,j,m;

     

      m=(int)sqrt(99999);

      for(i=1;i<m;i++)

      {

          j=i*i;

          if (1==havesamenum(j)) 

          printf("%6d\t",j);

      }

    }

    展开全文
  •  现在问题就可以转化为:这个无穷数列,挑选一些数出来,使得他们的和能够整除N,一种挑选方案实际上对应于b1 b2 b3…的一种真值指派(每一选中为1,否则为0)。  到此我们已经发现,这个问题可以采用...
  • 5-16 求符合给定条件整数集 (15分)给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。输入格式:输入一行给出A。输出格式:输出满足条件的的3位数,要求从小到大,...
  • 找出数组中符合条件的数对的个数

    千次阅读 2016-06-25 16:00:07
    设计一个算法,找出数列中符合条件的数对的个数,满足数对两数的和等于N+1。 方法一:排序+二分查找。先对数组进行排序,然后遍历该有序数组,同时使用二分查找方法,查找对应的值是否存在(例如,有序数组某...
  • 整数中1出现的次数(从1到n整数中1出现的次数) 求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1~13包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他...
  • 练习五1002描述编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为: 1.该数为完全平方数 2.该数至少有2数字相同 例如,100同时满足上面两个条件。输入输入一个数n,n的大小不超过实际满足...
  • 寻找整数(容斥原理) - HDU 1796

    千次阅读 2018-11-20 15:14:54
     容斥原理简介:计数时,为了使重叠部分不被重复计算,人们研究出一种新的计数方法:先不考虑重叠的情况,把包含于某内容的所有对象的数目先计算出来,然后再把计数时重复计算的数目排斥出去,使得计算的结果既...
  • 第一节、寻找满足条件的两个数 题目:输入一个数组和一个数字,数组查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入...
  • 试找出满足下列条件三位

    千次阅读 2006-05-25 20:00:00
    /********************************************************** 试找出满足下列条件三位数 1 百位数不大于2 2 将个位与百位对换 得到的三位数是原来三位数的2倍多 . QQ139767********************************...
  • //三位整数中,既是完全平方数,又有两位数字相同的数 #include<stdio.h> int main(){ int i,a,b,c,num; num=100; while(num<1000){ for(i=0;i<num;i++){ if(num==i*i){ a=...
  • 前奏 希望此编程艺术系列能给各位带来的是一种方法,一...题目:输入一个数组和一个数字,数组查找两个数,使得它们的和正好是输入的那个数字。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任
  • 求1-N十进制正整数1的个数

    千次阅读 2013-07-14 12:35:18
    给你一个十进制的正整数N,求1-N所有数出现“1”的的数目。 比如 N=2: 1 2 ,1的个数的1. N=5: 1 2 3 4 5 ,1的个数是1。 N=12:1 2 3 4 5 6 7 8 9 10 11 12 ,1的个数是5. 希望你能写...
  • 【ZZULIOJ】1076: 三位数求解

    千次阅读 2020-11-15 00:38:28
    1076: 三位数求解 题目描述 已知xyz+yzz=n,其中n是一个正整数,x、y、z都是数字(0-9),编写一个程序求出x、y、z分别代表什么数字。如果无解,则输出“No Answer” 注意:xyz和yzz表示一个三位数,而不是表示xyz...
  • 求满足条件的3位数

    2019-12-31 17:11:46
    编写程序,按从小到大的顺序寻找同时符合条件1和2的所有3位数,条件为: 1.该数为完全平方数 2.该数至少有2数字相同 例如,100同时满足上面两个条件。 输入 输入一个数n,n的大小不超过实际满足条件的3位数的...
  • 整数因子分解(转)

    万次阅读 2009-09-16 23:18:00
    整数因子分解(转) 相对于素数判定来说,因子...鉴于这两个问题的难度相差较大,我们施行分解之前,最好是预先知道目标整数的确不是一个素数,否则很可能花费了很大力气只干了素数判定的活——杀鸡用牛刀了。因子分
  • 较高要求,可根据实际情况选做(可得到附加的2分):找到更多的这样的整数:一些相续正整数的立方和正好等于另一个整数的立方。 首先看第一问,编写一个应用程序,验证以下等式是成立的: 问题分析:验证(a^3+(a+1)...
  • 下面,我试图用最清晰易懂,最易令人理解的思维或方式阐述有关寻找最小的k个数这个问题(这几天一直想,除了计数排序外,这题到底还有没有其它的O(n)的算法? )。希望,有任何问题,欢迎不吝指正。谢谢。 寻找...
  • 简介:最新发布的《Java开发手册(嵩山版)》增加了前后端规约,其中有一条:禁止服务端超大整数下使用Long类型作为...比如这次,嵩山版新增的模块——前后端规约,其中一条禁止服务端超大整数下使用Long类型作为
  • C++大随机整数的产生,排序和查找

    千次阅读 2014-03-10 00:44:39
     生成N=10^12个范围0~10^8之间的整数,并找出其中第N/2大和第N/4大的数。  咋看之下这个问题似乎很简单,只是数据量很大而已。可是仔细一想似乎数据大的有点多了,因此其存储倒是问题(因为我们后面还需要寻找
  • 一、需求 ...给定一个整数,返回大于等于该整数的最小2次幂(2的乘方)。 例: 输入 输出 -1 1 1 1 3 4 9 16 15 16 二、分析 当遇到这个需求的时候,我们可能会很容易想到一个"笨"办法:...
  • 如何把一个字符串转换成整数

    千次阅读 2020-02-26 12:27:36
    假设我们的环境只能存储 32 大小的有符号整数,那么其数值范围为 [−231, 231 − 1]。如果数值超过这个范围,请返回 INT_MAX (231 − 1) 或 INT_MIN (−231) 。 代码如下: int myAtoi ( string str ) { ...
  • 排序数组查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值数组的开始位置和结束位置,如果数组不存在目标值 target,返回 [-1, -1]。 你可以...
  • 程序员编程艺术:第五章、寻找和为定值的两个或多个数 作者:July,yansha,zhouzhenren。 致谢:微软100题实现组,编程艺术室。 微博:http://weibo.com/julyweibo 。 出处:http://blog.csdn.net/v_JULY_v ...
  • OpenCV+OpenGL 双目立体视觉维重建

    万次阅读 多人点赞 2016-08-08 00:02:47
    做双目立体视觉问题时,主要关注的点是立体匹配,本文主要关注最后一个步骤维重建的:三角剖分和纹理贴图以及对应的OpenCV+OpenGL代码实现。1.视差计算1.1基于视差信息的维重建特征提
  • 8、16、32操作系统的区别

    万次阅读 多人点赞 2018-05-20 19:29:51
    简单的说32的CPU的数据线、地址线、控制线都是32的,即CPU一次能够传送、处理32的二进制数,所以理论上它能够寻址的范围是2的32次方,即4个GB,所以即使你的电脑能够安装8个GB的内存,系统也只能使用前4个GB的...
  • C语言完全平方数

    千次阅读 2020-03-29 12:14:26
    功能是:在三位整数(100 至 999)中寻找符合条件的整数并依次从小到大存入数组;它既是完全平方数,又是两位数字相同,例如 144、676 等。 请编制函数实现此功能,满足该条件的整数的个数通过所编制的函数返回。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,115
精华内容 9,646
关键字:

在三位整数中寻找符合条件的