PTA判断输入的整数是否是素数,如果是则输出"1",否则输出"0." 编写程序,求自然数1至n(n>1)的累加和(累乘积(阶乘))。其中n的值从键盘输入。输入一个2000年以后的年份n,输出所有介于2
程序员文章站
2022-07-07 10:26:42
...
被老师讲的昏昏欲睡然后强制做题
今天搞一下这道题目吧
判断输入的整数是否是素数,如果是则输出"1",否则输出"0."
输入一个整数。
按照要求输出1或者0,最后换行。
首先明确定义
质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
其实这种题目有很多的算法,所以也有很多种答案,我就直接写PTA答案吧!
#include<stdio.h>
int main()
{
int a,i;
scanf("%d",&a);
i=2; //这边改成i=1就不正确了,想一下为什么呢,因为搞成一就是0了,后面判断就会认为是素数
while(i<a)
{
if(a%i==0) //整除判断是不是有因子 有的话就成立了 然后就执行下面的
{
i++;
break;
}
else i++; //这个不能漏掉 蛮重要的 不然i没有办法递增 这道题也就没办法做下去了
}
if(i==a) //跳出以后进行的就是进行这个从句了
printf("1\n");
else
printf("0\n");
return 0;
}
编写程序,求自然数1至n(n>1)的累加和。其中n的值从键盘输入。
这个没什么好说的 ,累乘也是跟这个一样的原理,也不再赘述了
#include<stdio.h>
int main()
{
int i,n,sum;
scanf("%d",&n);
sum=0;
for(i=1;i<=n;i++)
{sum=sum+i;}
printf("%d",sum);
return 0;
}
编写程序,求自然数1至n(n>1)的累乘积(即阶乘)。其中n的值从键盘输入(n<=12)。
#include<stdio.h>
int main()
{
int i,n,jg;
scanf("%d",&n);
jg=1;
for(i=1;i<=n;i++)
jg=jg*i;
printf("%d\n",jg);
return 0;
}
所谓闰年是指能被4整除并且不能被100整除或者能够被400整除的年份。 例如,2020年是闰年。 要求:输入一个2000年以后的年份n,输出所有介于2000年至n年之间的闰年。
这个题目是很老的题目了 主要就还是判断公式的问题,也不再多说了
#include<stdio.h>
int main()
{
int n,year;
scanf("%d",&n);
for(year=2000;year<=n;year++)
{
if(year%4==0&&year%100!=0||year%400==0)
printf("%d\n",year);
}
return 0;
}