这里就不做引入了,咱们直接上题🥺
求1! + 2! + …. + n!
sum = 0;
for ( i = 1; i <= n; i++ ) {
item = 1; // 每次求阶乘都从1开始
for (j = 1; j <= i; j++){ // 内层循环算出 item = i!
item = item * j;
}
sum = sum + item;
}
外层循环变量 i 的每个值
内层循环变量 j 变化一个轮次;
内外层循环变量的名字不能相同
分别用 i 和 j
现在要你用* 打一个等腰三角形你会咋整
像这样
平平无奇上代码🤩
就是通过规定位置对空格和*的合理放置
for(i=1; i<=n/2+1; i++){
for(j=n-2*i+1; j>0; j--){
printf (" ");
}
for (j=1; j<=2*i-1; j++){
printf ("* ");
}
printf ("\n");
}
大功告成🤪
我在做作业时跟一道题混了,和各位share一下
🌰我最后的实现是这样的
#include<stdio.h>
int main (void)
{
int n;
scanf("%d",&n);
char ch='A';
int i, j;
for(i=0;i<n;i++)
{
for(j=n-i;j>0;j--)
{
printf("%c ", ch);
ch++;
}
printf("\n");
}
return 0;
}
这个是输出一直角三角形,深得之前高三的我独爱😍
Ps: char 去加➕1竟然变字母🧐,实属爱了😘
看看这个
#include<stdio.h>
int main(void)
{
int n;
scanf("%d", &n);
int t, a;
t=n;
a=1;
while(t>9)
{
t/=10;
a=a*10;
}
while(a>0)
{
printf("%d ", n/a);
n=n%a;
a=a/10;
}
return 0;
}
这还算良心的一道题,后面那道回文数把我直接气炸了😤,结果是没初始化值(具体代码咱就不用说了,大同小异),不过咱来看看题
这两个的核心是这些
while(t>9)
{
t/=10;
a=a*10;
}
while(a>0)
{
printf("%d ", n/a);
n=n%a;
a=a/10;
}
😩通过对每个数字的分解实现输出或判断👍
要疯了啊啊啊🤔
为什么这么说呢,看看这道我被oj罚时十二次的哥德巴赫猜想(内心对这位伟大的先生充满怨恨【🐶狗头保命】
我开始用的穷举(我独爱穷举🥰),对素数进行两次遍历,结果超时让我很崩溃😡
好在最后用了函数
#include<stdio.h>
int Prime(int n);
int main()
{
int n;
scanf("%d",&n);
int i;
for(i=2;i<n;i++){
if(Prime(i)&&Prime(n-i)){
printf("%d = %d + %d",n,i,n-i);
break;
}
}
return 0;
}
int Prime(int n)
{
if(n==1){
return 0;
}
else if(n==2){
return 1;
}
else{
for(int i=2;i*i<=n;i++){
if(n%i==0){
return 0;
break;
}
}
}
return 1;
}
不顾各位最好要记得关注循环次数还有这个2,气炸天了我😇,早上布置的作业我那天大物实验课晚十下课还在搞这道题,十一点多才搞完/我太菜了🥲
不过还是对我们的实验老师的指导表示衷心的感谢🙏
高数高数,我去上课了,下周见🤪(这个表情太可爱了)