6~10题
2017-01-23 本文已影响0人
清一语
1006. 换个格式输出整数 (15)
很简单的一个题, 根据输入的不同的有2种写法都是可以的。
输入的数字记为字符串
输入的数字计为int型
处理的思路不同,但都很简单,很好理解 。
1007. 素数对猜想 (20)
一道我至今为止还没通过的题,用c语言也超时,等我看了数据结构再写一下
日常超时
在一般题目里,for 循环嵌套2次,每次都是10的5次方左右的话是妥妥超时的,无奈。
1008. 数组元素循环右移问题 (20)
先上代码
1008.c
这题也很清晰。
注意的地方有2个,
- 移动的次数要尽量少
- 最后一位之后没有空格(pat很喜欢这种套路)
- 输入时 :
为了减少移动次数,必须先让M对N取余,把移即m = M % N 动次数降到最少 .
用for循环把给出的数组元素放入一个数组中. - 处理移动 :
for ( i = m ; i < n ; i ++ ) t[i] = a[i-m] ; for ( i = 0 ; i < m ; i ++) t[i] = a[i+n-m] ;
用两个for 循环,对原先的数组进行右移,存入另一个数组中,以便输出.
- 输出时 :
for ( i = 0 ; i < n-1 ;i ++) printf("%d ",t[i]); printf("%d",t[n-1]);
注意最后一位的不在for循环中输出,否则会有空格.
1009. 说反话 (20)
这题用python简直不要太简单,用c写很繁琐.
写了很久依旧部分正确的c,所以这是别人写的代码
只写了3分钟的python哈哈,6行代码
- 关于c:
才疏学浅,并不能用c把这题写全对,懒得,但还是很有一些地方值得一提
- 输入 :
输入的英文里有空格,所有要用gets(),其他的遇到空格不会在输入,而gets()是以回车为结束,它的头文件是 <string.h> ,此外还可以用strlen()来直接获得字符串的长度.
有了这么好用的python来处理字符串,为什么还要用c呢,索性不讲了.
1010. 一元多项式求导 (25)
注意 :
- 输入 :
for ( i = 0 ; ;i++) { scanf("%d",&n[i]) ; if ( getchar() == '\n') break ; }
没有给出数字的个数 ,要用 getchar() =='\n'判断是否输入停止了.
- 处理 :
注意0次方的处理, 当只有0次方时,输出 0 0 ,当不止有0次方时,0次方的求导,即常数的求导不用输出,直接忽略 例如 , 输入 "2 3 4 2 5 1 9 0 8 -1 4 -2" 时 ,输出 "6 2 8 1 5 0 -8 -2 -8 -3"