练习1:素数个数
【题目描述】
编程求2~n(n为大于2的正整数)中有多少个素数。
【输入】
输入n(2≤n≤50000)。
【输出】
素数个数。
【输入样例】
10
【输出样例】
4
#include <stdio.h>
int sushu(int n);
int main()
{
int n,i,s=0;
scanf("%d",&n);
for(i=3;i<=n;i++)
{
if(sushu(i)==1)
s++;
}
printf("%d\n",s);
return 0;
}
int sushu(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
练习:2亲和数
【题目描述】
自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数” 。求最小的一对亲和数(a<>b)。
【输入】
(无)
【输出】
1行,分别为a和b(a<b)。
【输入样例】
(无)
【输出样例】
(无)
#include <stdio.h>
int yzzh(int n)
{
int i,sum=1;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
{
sum+=i;
}
}
return sum;
}
int main()
{
int i=1;
while(1)
{
if(i==yzzh(yzzh(i))&&i!=yzzh(i))
{
printf("%d %d",i,yzzh(i));
break;
}
i++;
}
}
简单算术表达式求值
两位正整数的简单算术运算(只考虑整数运算),算术运算为:
+,加法运算;
-,减法运算;
*,乘法运算;
/,整除运算;
%,取余运算。
算术表达式的格式为(运算符前后可能有空格):
运算数 运算符 运算数
请输出相应的结果。
【输入】
一行算术表达式。
【输出】
整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。
【输入样例】
32+64
【输出样例】
96
#include <stdio.h>
int jsq(int a,char c,int b);
int main()
{
int a,b;
char c;
scanf("%d%c%d",&a,&c,&b);
printf("%d",jsq(a,c,b));
}
int jsq(int a,char c,int b)
{
if(c=='+')
return(a+b);
if(c=='-')
return(a-b);
if(c=='*')
return(a*b);
if(c=='/')
return(a/b);
if(c=='%')
return(a%b);
}