精华内容
下载资源
问答
  • Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,光...

    问题描述

    Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。
      比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。
      所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法:
      十二亿三千四百五十六万七千零九
      用汉语拼音表示为
      shi er yi san qian si bai wu shi liu wan qi qian ling jiu
      这样他只需要照着念就可以了。
      你的任务是帮他设计这样一个系统:给定一个阿拉伯数字串,你帮他按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符格开。
      注意必须严格按照规范,比如说“10010”读作“yi wan ling yi shi”而不是“yi wan ling shi”,“100000”读作“shi wan”而不是“yi shi wan”,“2000”读作“er qian”而不是“liang qian”。
    输入格式
      有一个数字串,数值大小不超过2,000,000,000。
    输出格式
      是一个由小写英文字母,逗号和空格组成的字符串,表示该数的英文读法。
    样例输入
    1234567009
    样例输出
    shi er yi san qian si bai wu shi liu wan qi qian ling jiu

    代码:

    #include<iostream>
    #include<string.h>
    #include<vector>
    using namespace std;
    string p[]= {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba",
                 "jiu", "shi", "bai", "qian", "wan"
                };
    int main() {
    	string s, str1, str2, str3, ans;
    	cin>>s;
    	int cnt=s.size();
    	for(int i=0; i<s.size(); i++, cnt--) {
    		if(s[i]!='0') {
    			if(i-1>=0&&s[i-1]=='0')
    				ans=ans+p[0]+" ";
    			ans=ans+p[s[i]-'0']+" ";
    			switch(cnt%4) {
    				case 0:
    					ans+="qian ";
    					break;
    				case 3:
    					ans+="bai ";
    					break;
    				case 2:
    					ans+="shi ";
    					break;
    				default:
    					break;
    			}
    		}
    		switch(cnt) {
    			case 9:
    				ans+="yi ";
    				break;
    			case 5:
    				ans+="wan ";
    				break;
    			default:
    				break;
    		}
    	}
    	if(ans.substr(0, 6)=="yi shi")
    		ans=ans.substr(3, ans.size()-1);
    	cout<<ans<<endl;
    	return 0;
    }
    

    运行示例
    在这里插入图片描述

    展开全文
  • 总的算法口诀:、二十几到九的同一个十位均可按被乘数加乘数的位数之和,乘十、二十等的十位如10、20……90等,再加上俩乘数的位数的相乘积,即得两乘数之积。 十的算法:如11X17=? (被...
  • 数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意个重复的数字。举例说明例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字 2 或者 3。...

    题目

    在一个长度为n的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。

    举例说明

    例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字 2 或者 3。

    题目分析

    思路一:

    解决这个问题的一个简单的方法是先把输入的数组排序。从排序的数组中找出重复的数字时间很容易的事情,只需要从头到尾扫描排序后的数组就可以了。排序一个长度为 n 的数组需要 O(nlogn)的时间。

    思路二:

    还可以利用哈希表来解决这个问题。从头到尾按顺序扫描数组的每个数,每扫描一个数字的时候,都可以用 O(1)的时间来判断哈希表里是否已经包含了该数字。如果哈希表里还没有这个数字,就把它加入到哈希表里。如果哈希表里已经存在该数字了,那么就找到一个重复的数字。这个算法的时间复杂度是 O(n),但它提高时间效率是以一个大小为 O(n)的哈希表为代价的。我们再看看有没有空间复杂度为 O(1)的算法。

    /*
    	1. 遍历数组,采用hashmap存放每个元素,其中元素作为key存储,value为0。 
    	2. 当前遍历元素插入hashmap时,先检查hashmap中是否已经存在同样的key。 
    	3. 若存在,记录下该值,返回true;若不存在,存入map中,继续遍历,直到数组结束,返回false.
    */
    	public boolean duplicate(int numbers[],int length,int [] duplication) {
    	        boolean flag = false;
    	        if(numbers==null || length==0){
    	            return flag;
    	        }
    	        HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
    	        for(int num: numbers){
    	            if(map.containsKey(num)){
    	                flag = true;
    	                duplication[0] = num;
    	                break;
    	            }
    	            map.put(num, 0);
    	        }
    	        return flag;
    	    }

    根据题目描述,数组里面的值范围在0~n-1,我们可以利用布尔型的辅助数组实现数组元素查重。利用数组的值作为辅助数组的下标,当数组中存在重复的数字时,那它们就指向了同一个以该值为下标的辅助数组元素。利用这一点,在遍历访问数组的时候,每访问一个元素,将该元素值作为辅助数组元素下标,并将该辅助数组元素设置为true。当首次遍历到辅助数组元素为true的时候即找到第一个重复出现的数字。

    package com.newcoder.offer;
    
    public class Test {
    
    	public static void main(String[] args) {
    		int[] numbers1 = { 2, 1, 3, 1, 4 };
    		System.out.println(duplicate(numbers1));
    		int[] numbers2 = { 2, 4, 3, 1, 4 };
    		System.out.println(duplicate(numbers2));
    		int[] numbers3 = { 2, 4, 2, 1, 4 };
    		System.out.println(duplicate(numbers3));
    		int[] numbers4 = {};
    		System.out.println(duplicate(numbers4));
    		int[] numbers5 = { 2, 1, 3, 5, 4 };
    		System.out.println(duplicate(numbers5));
    	}
    
    	public static boolean duplicate(int numbers[]) {
    		boolean[] assist = new boolean[numbers.length];
    		int dulpNum = 0;
    		for (int i = 0; i < assist.length; i++) {
    			if (assist[numbers[i]] == true) {
    				dulpNum = numbers[i];
    				return true;
    			}
    			assist[numbers[i]] = true;
    		}
    		return false;
    	}
    
    }
    展开全文
  • 计算,个格子放入九个数,就A99种排列组合,结果是360K+,所以当程序运行100K+的时候,我还是在耐心等待,不过帮我测试的同学可没 我的耐心,早早得都关了。-_-|| 所以在昨天晚上抱着尝试的心态,写了A*...
  • 1100的100数字的英文怎么写1–100的写法是规律的:1–20每单词都是不一样的,后面每整十也都不一样,但是从几十一到几,都是用表示十的单词–表示的单词。如21 twenty-one 22 twenty-two23 ...

    1到100的100个数字的英文怎么写

    1–100的写法是有规律的:1–20每个单词都是不一样的,后面每个整十数也都不一样,但是从几十一到几十九,都是用表示十的单词–表示一至九的单词。

    如21 twenty-one 22 twenty-two23 twenty-three24 twenty-four25 twenty-five26 twenty-six27 twenty-seven28 twenty-eight29 twenty-nine所以1-100是1 one2 two3 three4 four5 five6 six7 seven8 eight9 nine10 ten11 eleven12 twelve13 thirteen14 fourteen15 fifteen16 sixteen17 seventeen18 eighteen19 nineteen20 twenty21 twenty-one22 twenty-two23 twenty-three24 twenty-four25 twenty-five26 twenty-six27 twenty-seven28 twenty-eight29 twenty-nine30 thirty31 thirty-one32 thirty-two33 thirty-three34 thirty-four35 thirty-five36 thirty-six37 thirty-seven38 thirty-eight39 thirty-nine40 forty41 forty-one42 forty-two43 forty-three44 forty-four45 forty-five46 forty-six47 forty-seven48 forty-eight49 forty-nine50 fifty51 fifty-one52 fifty-two53 fifty-three54 fifty-four55 fifty-five56 fifty-six57 fifty-seven58 fifty-eight59 fifty-nine60 sixty61 sixty-one62 sixty-two63 sixty-three64 sixty-four65 sixty-five66 sixty-six67 sixty-seven68 sixty-eight69 sixty-nine70 seventy71 seventy-one72 seventy-two73 seventy-three74 seventy-four75 seventy-five76 seventy-six77 seventy-seven78 seventy-eight79 seventy-nine80 eighty81 eighty-one82 eighty-two83 eighty-three84 eighty-four85 eighty-five86 eighty-six87 eighty-seven88 eighty-eight89 eighty-nine90 ninety91 ninety-one92 ninety-two93 ninety-three94 ninety-four95 ninety-five96 ninety-six97 ninety-seven98 ninety-eight99 ninety-nine100 one hundred

    1到100的英语单词怎么读

    1到100的英语单词中文谐音读法如下: 数词(Numeral),表示数量或顺序的词叫做数词。

    英语的数词可以作句子的主语、宾语、表语和定语。

    数词分为两大类,即基数词和序数词。

    基数词表示数目,如:one,two,three,four……;序。

    写英语句子可以用数字开头么

    数字开头可以 情况太多了15 lives were lost in the battle。

    那个 16-year-old 是一个形容词 还有记住 有连字符时 old year 只能用单数 16-year-old child

    含有复杂数字的英语

    数字 单词 音标 1、一 --- one 英[wʌn] 2、二 --- two 英 [tu:] 3、三 --- three 英 [θri:] 4、四 --- four 英 [fɔ:(r)] 5、五 --- five 英 [faɪv] 6、六 --- six 英 [sɪks] 7、七 --- seven 英 [ˈsevn] 8、八 --- eight 英 [eɪt] 9、九 --- nine 英 [naɪn] 10、。

    求mysql用like检索字段中带有数字的语句

    MySQL LIKE 语法

    LIKE 运算符用于 WHERE 表达式中,以搜索匹配字段中的指定内容,语法如下:

    WHERE column LIKE pattern

    WHERE column NOT LIKE pattern

    在 LIKE 前面加上 NOT 运算符时,表示与 LIKE 相反的意思,即选择 column 不包含 pattern 的数据记录。

    LIKE 通常与通配符 % 一起使用,% 表示通配 pattern 中未出现的内容。

    而不加通配符 % 的 LIKE 语法,表示精确匹配,其实际效果等同于 = 等于运算符。

    MySQL LIKE 大小写

    MySQL LIKE 匹配字符时,默认是不区分大小写的,如果需要在匹配的时候区分大小写,可以加入 BINARY 操作符:

    SELECT * FROM user WHERE username LIKE BINARY '%azz%'SELECT * FROM user WHERE username LIKE BINARY '%aZZ%'

    BINARY 操作符表示按照二进制进行比较,因此加上该操作符后,便可以严格区分大小写,因此以上两条 SQL 查询出来的内容是不同的。

    MySQL LIKE 中文字符匹配

    由于数据存储编码问题,在某些情况下,MySQL 进行 LIKE 搜索返回的数据中除了符合要求的数据外,往往还会返回许多不相干的数据。

    这时候也需要在 LIKE 后面加上 BINARY 操作符以进行二进制比较:

    SELECT * FROM user WHERE username LIKE BINARY '%小%'

    提示

    当在 LIKE 匹配时加上 BINARY 操作符后,则会严格区分英文大小写。

    因此当检索的内容是中英文混合且需要忽略英文大小写的时候,就会遇到麻烦。

    为解决此问题,需要引入 MySQL 中的 UPPER() 与 CONCAT() 函数:

    UPPER():将英文字符串变大写,同UCASE()

    CONCAT():将多个字符串连接成一个字符串

    语法如下:

    UPPER(str)

    CONCAT(str1,str2,。

    )

    因此当我们要进行中英文混合匹配检索且要忽略英文大小写时,可以使用如下例所示的 SQL 语句:

    SELECT * FROM username WHERE UPPER(username) LIKE BINARY CONCATt('%',UPPER('a中文b'),'%')

    在该 SQL 中,将搜索的字段及检索的内容都进行大写转换后,再进行二进制匹配。

    LIKE 运算符的效率

    LIKE 运算符要对字段数据进行逐一扫描匹配,实际执行的效率是较差的,哪怕该字段已经建有索引(a% 这种方式会用到索引)。

    当数据量较大时,要尽可能的减少 LIKE 运算符的使用,也没有太多优化的余地。

    跪求关于数字的一篇英语作文,数字要大,不要太难。

    英语作文啊!至少8句话!谢了

    I am sorry ! I can not help you !

    数字翻译表白语句,比如520是我爱你的意思

    我的名字里有晴,上次我喜欢的男生给我发了207元红包,不知道是不是“爱你晴”反正我很爱胡思乱想

    英文句子翻译 Please enter eight number or characters at least。

    请输入最少8个数字或者字母。

    展开全文
  • 的读法

    2019-08-23 22:45:58
     Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,...

    数的读法

    问题描述
      Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。
      比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。
      所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法:
      十二亿三千四百五十六万七千零九
      用汉语拼音表示为
      shi er yi san qian si bai wu shi liu wan qi qian ling jiu
      这样他只需要照着念就可以了。
      你的任务是帮他设计这样一个系统:给定一个阿拉伯数字串,你帮他按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符格开。
      注意必须严格按照规范,比如说“10010”读作“yi wan ling yi shi”而不是“yi wan ling shi”,“100000”读作“shi wan”而不是“yi shi wan”,“2000”读作“er qian”而不是“liang qian”。
    输入格式  
      有一个数字串,数值大小不超过2,000,000,000。
    输出格式  
      是一个由小写英文字母,逗号和空格组成的字符串,表示该数的英文读法。 样例输入
      1234567009
    样例输出
      shi er yi san qian si bai wu shi liu wan qi qian ling jiu

    十分繁琐的做法。。

    #include <iostream>
    #include <string>
    using namespace std;
    string num[10]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
    string shi="shi",bai="bai",qian="qian",wan="wan",yi="yi";
    void f(string in)
    {
        if(in.length()==1) cout<<num[in[0]-'0'];
        else if(in.length()==2&&in[0]=='1') cout<<shi<<" "<<num[in[1]-'0'];
        else if(in.length()==2&&in[0]!='0') cout<<num[in[0]-'0']<<" "<<shi<<" "<<num[in[1]-'0'];
        else if(in.length()==2) cout<<num[in[0]-'0']<<" "<<shi;
        else if(in.length()==3&&in[1]=='0'&&in[2]=='0') cout<<num[in[0]-'0']<<" "<<bai;
        else if(in.length()==3&&in[1]=='0') cout<<num[in[0]-'0']<<" "<<bai<<" "<<num[0]<<" "<<num[in[2]-'0'];
        else if(in.length()==3&&in[2]=='0') cout<<num[in[0]-'0']<<" "<<bai<<" "<<num[in[1]-'0']<<" "<<shi;
        else if(in.length()==3) cout<<num[in[0]-'0']<<" "<<bai<<" "<<num[in[1]-'0']<<" "<<shi<<" "<<num[in[2]-'0'];
        else if(in.length()==4&&in[0]=='0'&&in[1]=='0'&&in[2]=='0'&&in[3]=='0');
        else if(in.length()==4&&in[0]=='0'&&in[1]=='0'&&in[2]=='0') cout<<num[0]<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[0]=='0'&&in[1]=='0'&&in[3]=='0') cout<<num[0]<<" "<<num[in[2]-'0']<<" "<<shi;
        else if(in.length()==4&&in[0]=='0'&&in[2]=='0'&&in[3]=='0') cout<<num[0]<<" "<<num[in[1]-'0']<<" "<<bai;
        else if(in.length()==4&&in[0]=='0'&&in[1]=='0') cout<<num[0]<<" "<<num[in[2]-'0']<<" "<<shi<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[0]=='0'&&in[2]=='0') cout<<num[0]<<" "<<num[in[1]-'0']<<" "<<bai<<" "<<num[0]<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[0]=='0'&&in[3]=='0') cout<<num[0]<<" "<<num[in[1]-'0']<<" "<<bai<<" "<<num[in[2]-'0']<<" "<<shi;
        else if(in.length()==4&&in[0]=='0') cout<<num[0]<<" "<<num[in[1]-'0']<<" "<<bai<<" "<<num[in[2]-'0']<<" "<<shi<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[1]=='0'&&in[2]=='0'&&in[3]=='0') cout<<num[in[0]-'0']<<" "<<qian;
        else if(in.length()==4&&in[1]=='0'&&in[2]=='0') cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[0]<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[2]=='0'&&in[3]=='0') cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[in[1]-'0']<<" "<<bai;
        else if(in.length()==4&&in[1]=='0'&&in[3]=='0') cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[0]<<" "<<num[in[2]-'0']<<" "<<shi;
        else if(in.length()==4&&in[1]=='0') cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[0]<<" "<<num[in[2]-'0']<<" "<<shi<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[2]=='0') cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[in[1]-'0']<<" "<<bai<<" "<<num[0]<<" "<<num[in[3]-'0'];
        else if(in.length()==4&&in[3]=='0') cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[in[1]-'0']<<" "<<bai<<" "<<num[in[2]-'0']<<" "<<shi;
        else if(in.length()==4) cout<<num[in[0]-'0']<<" "<<qian<<" "<<num[in[1]-'0']<<" "<<bai<<" "<<num[in[2]-'0']<<" "<<shi<<" "<<num[in[3]-'0'];
    }
    int main()
    {
        string in;
        cin>>in;
        if(in.length()<=4) f(in);
        else if(in.length()<=8) {string s1,s2;s1=in.substr(in.length()-4,4);s2=in.substr(0,in.length()-4);f(s2); cout<<" "<<wan<<" ";f(s1);}
        else {string s1,s2,s3;s1=in.substr(in.length()-4,4);s2=in.substr(in.length()-8,4);s3=in.substr(0,in.length()-8); f(s3); cout<<" "<<yi<<" ";f(s2); cout<<" "<<wan<<" ";f(s1);}
    }
    
    展开全文
  • 问题描述Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。比如说,在对学生讲解第1234567009号位置上的碱基时...
  • 问题描述Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。比如说,在对学生讲解第1234567009号位置上的碱基时...
  • 问题描述Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。比如说,在对学生讲解第1234567009号位置上的碱基时...
  • /** 问题描述* Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,* 它们0开始编号,到几百万,千万,甚至上亿。* 比如说,在对学生讲解第1234567009号位置...
  •  Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,...
  • 蓝桥杯的读法

    2020-03-18 22:05:34
     Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,...
  • 蓝桥杯 的读法

    千次阅读 2018-03-27 17:13:23
    蓝桥杯 的读法问题描述 Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。 比如说,在对学生讲解第...
  • Java的读法

    2021-03-14 21:14:52
    Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,光...
  • 基础训练 的读法

    2020-01-10 17:31:34
    Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。 比如说,在对学生讲解第1234567009号位置上的碱基时,光...
  • C语言 的读法

    2020-08-14 16:12:05
     Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,...
  •  Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:条染色体上成千上万碱基对,它们0开始编号,到几百万,千万,甚至上亿。  比如说,在对学生讲解第1234567009号位置上的碱基时,...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 287
精华内容 114
关键字:

从一数到九有几个数