練習(xí)1:素?cái)?shù)個(gè)數(shù)
【題目描述】
編程求2~n(n為大于2的正整數(shù))中有多少個(gè)素?cái)?shù)浩销。
【輸入】
輸入n(2≤n≤50000)。
【輸出】
素?cái)?shù)個(gè)數(shù)听哭。
【輸入樣例】
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;
}
練習(xí):2親和數(shù)
【題目描述】
自然數(shù)a的因子是指能整除a的所有自然數(shù)慢洋,但不含a本身。例如12的因子為:1,2,3,4,6陆盘。若自然數(shù)a的因子之和為b普筹,而且b的因子之和又等于a,則稱a,b為一對(duì)“親和數(shù)” 隘马。求最小的一對(duì)親和數(shù)(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++;
}
}
簡單算術(shù)表達(dá)式求值
兩位正整數(shù)的簡單算術(shù)運(yùn)算(只考慮整數(shù)運(yùn)算)杏头,算術(shù)運(yùn)算為:
+盈包,加法運(yùn)算;
-醇王,減法運(yùn)算呢燥;
*,乘法運(yùn)算寓娩;
/叛氨,整除運(yùn)算;
%棘伴,取余運(yùn)算寞埠。
算術(shù)表達(dá)式的格式為(運(yùn)算符前后可能有空格):
運(yùn)算數(shù) 運(yùn)算符 運(yùn)算數(shù)
請(qǐng)輸出相應(yīng)的結(jié)果。
【輸入】
一行算術(shù)表達(dá)式焊夸。
【輸出】
整型算數(shù)運(yùn)算的結(jié)果(結(jié)果值不一定為2位數(shù)仁连,可能多于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);
}