毫无疑问, 这个又是给新入门学C语言的小鲜肉准备的!

题解:

1. 直接两个循环就ok啦! 当初讲课的时候几乎讲过原题啦。

2. 直接 100的三次方就是1000000啦, 所以直接对某数的三次方开方(取int型), 然后再平方, 判断一下是否相等。

3. 可以直接扫描一下, 把大写字母都转化成小写, 然后逐个判断!

4. 求组合数, 直接按照求组合数的公式, 然后循环求解, 就好啦!

5. 直接循环求出 真因子和, 判断一下是否和原数相等否, 即可!(这个好像也讲过原题!)

6.多重集的组合,这就是一个公式的事儿!  这个公式的推导过程也很机智!

附加题: 仔细回想一下自己小学算除法的过程, 然后用一个数组保存余数。 用另一个数组判断同一个余数是否出现两次,当有一个余数出现两次时, 立刻停止往下除。 然后找出这两个余数出现的位置(加括号), 然后把各   余数*10 /除数  输出即可! 。 详见代码!

Talk is cheap, show me your code!

各题代码:

1.

 #include <iostream>
#include <cstdio>
using namespace std; int main()
{
int ok;
printf("%d\n", );
for(int i=; i<=; i++)
{
int ok = ;
for(int j=; j*j<=i; j++)
{
if(i%j==)
{
ok = ;
break;
}
}
if(ok) printf("%d\n", i);
}
return ;
}
#include<stdio.h>
#include<math.h>
const int maxn=;
int a[maxn];
int main()
{
for(int i=;i<maxn;i++)
a[i]=i;
for(int i=;i<sqrt(maxn);i++) if(a[i]) {
for(int j=i*i;j<maxn;j=j+i)
a[j]=;
}
for(int i=;i<maxn;i++)
if(a[i]!=) printf("%8d",i);
}

2.

 #include <iostream>
#include <cstdio>
#include <cmath>
using namespace std; int main()
{
for(int i=; i<=; i++)
{
int q = sqrt(i*i*i*1.0);
if(q*q==i*i*i) printf("%d\n", i*i*i);
}
return ;
}
#include<cstdio>
#include<cmath>
int main()
{
for(int i=;i<=;i++){
if(sqrt(i*i*i)*sqrt(i*i*i)==i*i*i);
printf("%8d\n",i*i*i);
}
return ;
}

3.

 #include <cstdio>
#include <cstring>
#include <iostream>
using namespace std; char str[]; int main()
{
while(scanf("%s", str)!=EOF)
{
getchar();
for(int i=; str[i]!='\0'; i++)
if(str[i]>='A'&&str[i]<='Z') str[i] += ;
int len = ;
for(int i=; str[i]!='\0'; i++)
{
if(str[i]!='#') len++;
for(int j=i+; str[j]!='\0'; j++)
if(str[i]==str[j]) str[j] = '#';
}
printf("%d\n", len);
}
return ;
}
#include<cstdio>
#include<cstring>
const int maxn=;
char s[maxn];
int main()
{
int a[]={};
while(~scanf("%s",s))
{
int sum=,len=strlen(s);
for(int i=;i<len;i++){ if(a[s[i]-]==||a[s[i]-]==)
continue; if(s[i]>=&&s[i]<=)
a[s[i]-]=; if(s[i]>=&&s[i]<=)
a[s[i]-]=;
}
for(int i=;i<;i++)
if(a[i]) sum++;
printf("%d\n",sum);
}
return ;
}

4.

 #include <iostream>
#include <cstdio>
using namespace std; int main()
{
int ans;
int n, m;
while(scanf("%d%d", &n, &m)!=EOF)
{
ans = ;
if(m<n-m) m = n-m;
for(int i=m+; i<=n; i++)
ans*=i;
for(int i=; i<=n-m; i++)
ans/=i;
printf("%d\n", ans);
}
return ;
}
#include<cstdio>
int comb(int n,int m)
{
if(m==||n==m)
return ;
return comb(n-,m)+comb(n-,m-);
}
int main()
{
int m,n;
while(scanf("%d%d",&n,&m)!=EOF){
printf("%d\n",comb(n,m));
}
return ;
}

5.

 #include <iostream>
#include <cstdio>
using namespace std; int main()
{
for(int i=; i<=; i++)
{
int sum = ;
for(int j=; j*j<=i; j++)
{
if(i%j==) sum += j + i/j;
if(j*j==i) sum-=j;
}
if(sum==i) printf("%d\n", i);
}
return ;
}
#include<cstdio>
const int maxn=;
int main()
{
int s;
for(int i=;i<=maxn;i++){
s=;
for(int j=;j<i;j++){
if(i%j==)
s+=j;
}
if(s==i) printf("%d\n",s);
}
return ;
}

6.

 #include <iostream>
#include <cstdio>
using namespace std; int main()
{
int ans=;
for(int i=+; i<=; i++)
ans*=i;
for(int i=; i<=-; i++)
ans/=i;
printf("%d\n", ans);
return ;
}

附加题:

 #include <cstdio>
#include <cstring>
#include <iostream>
using namespace std; bool vis[];
int ans[]; int main()
{
int a, b;
while(scanf("%d%d", &a, &b)!=EOF)
{
printf("%d", a/b);
if(a%b==) {printf("\n"); continue;}
printf(".");
int flag = -; int k=;
memset(vis, , sizeof(vis));
a = a%b; vis[a] = ; ans[k++] = a;
while(a%b)
{
a *= ;
int temp = a%b;
if(vis[temp])
{
for(int i=; i<k; i++)
{
if(temp==ans[i])
{
flag = i; break;
}
}
break;
}
else
{
ans[k++] = temp;
a = temp;
vis[temp] = ;
}
}
if(flag==-)
{
for(int i=; i<k-; i++)
printf("%d", ans[i]*/b);
}
else
{
if(flag==) printf("(");
else
{
for(int i=; i<flag; i++)
printf("%d", ans[i]*/b);
printf("(");
}
for(int i=flag; i<k; i++)
printf("%d", ans[i]*/b);
printf(")");
}
printf("\n");
}
return ;
}

小题精炼-----初试C语言的更多相关文章

  1. 关于SQL的几道小题详解

    关于SQL的几道小题详解 当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果,这样 ...

  2. ...续上文(一个小萌新的C语言之旅)

    我们继续上次没介绍完的继续讲: 下面我们说一下二进制,二进制是计算技术中广泛采用的一种 数制. 二进制数据是用0和1两个 数码来表示的数.它的基数为2,进位规则是“逢二进一”.那么二进制怎么转化为十进 ...

  3. 常让人误解的一道js小题

    一道小题引发的深思 今天无意中看到一个js笔试题,不由得想起初学js那会被各种题目狂虐的心酸,虽说现在也会被笔试题所虐,但毕竟比之前好了很多,下面就是我的个人理解,欢迎拍砖.指正: var x = 1 ...

  4. 一些js小题(一)

    一些js小题,掌握这些对于一些常见的面试.笔试题应该很有帮助: var a=10; function aa(){ alert(a); } function bb(){ aa(); } bb();//1 ...

  5. 关于理解python类的小题

    今天看了python部落翻译的一篇<一道python类的小题>文章,感觉挺有启发性,记录下来: print('A') class Person(object): print('B') de ...

  6. 20181014xlVBA获取小题零分名单

    Sub GetZeroName() Dim Dic As Object Const SUBJECT = "科目名称" Dim Key As String Dim OneKey Di ...

  7. CF上的3道小题(2)

    CF上的3道小题(2) T1:CF630K Indivisibility 题意:给出一个数n,求1到n的数中不能被2到9中任意一个数整除的数. 分析:容斥一下,没了. 代码: #include < ...

  8. CF上的3道小题(1)

    CF上的3道小题 终于调完了啊.... T1:CF702E Analysis of Pathes in Functional Graph 题意:你获得了一个n个点有向图,每个点只有一条出边.第i个点的 ...

  9. python 小题

    python 小题:给定一个字符串,找出不含有重复字符的最长子串的长度.示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc&quo ...

随机推荐

  1. docker RESTful API

    https://docs.docker.com/engine/reference/api/docker_remote_api/

  2. datatables中columns.render的使用

    可直接在columns申明中对应列下方使用render改变该列样式 也可单独在columnsDefs中用targets指定目标. "render":function(data,ty ...

  3. linux 使用串口连接设备console

    linux使用串口连接cisco设备的console   linux 自带一个串口命令:minicom,需要经过设置,之后就可以连接了.   传说是默认就可以,我可能RP不好,我必须要经过设置才可以. ...

  4. [PHP100] PHP如何防止注入及开发安全

    1.PHP注入的基本原理 程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 用户输入数据的合法性进行判断,使应用程序存在安全隐患.用户可以提交一段数据 库查询代码,根据程序返回 ...

  5. Codeforces 735C:Tennis Championship(数学+贪心)

    http://codeforces.com/problemset/problem/735/C 题意:有n个人打锦标赛,淘汰赛制度,即一个人和另一个人打,输的一方出局.问这n个人里面冠军最多能赢多少场, ...

  6. C#:关联程序和文件

    一.关联代码 /// <summary> /// 关联程序和类型 /// </summary> private void RegFileExt() { try { string ...

  7. 请求php返回json生成自定义对象

    php代码 public function convert_array(){ $arr = array( '0'=>array('name'=>'zc','height'=>173) ...

  8. 2016年省赛G题, Parenthesis

    Problem G: Parenthesis Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 398  Solved: 75[Submit][Status ...

  9. Java 使用 Stream API 筛选 List

    前言 上课的时候看到老师用迭代器来遍历 List 中的元素的时候,我的内心是极其嫌弃的,这种迭代方法不能直接访问当前的元素,而且写起来也麻烦.于是上网查了查 Java 有没有类似于 Linq 的东西, ...

  10. 对“Java”的诞生历史、特点、定义等HR常问的简单题

    本人是一个学习Java的新手,在学习了Java以后,对Java的一些总结. 这里共有12点对Java的简单的阐述,如果解释的不怎么样请大家谅解哈. 1.首先我们来看一看,在Java之前的有那些打牌语言 ...