1 , c语言for循环把全部的代码发上来啊你这样看不懂你 i 代表的是什么意思最好把相关语句发出来 就这一句上不连下不挨的让人怎么分析?
2,角谷猜想C语言输出过程代码比较简单,各语句意义见注释 。。。#include <stdio.h> int main(int argc, char *argv[])int i; /*定义要处理的变量*/scanf("%d", &i); /*输入变量值*/while(i != 1)if(i%2)/*奇数*/printf("%d*3+1=%d\n", i, i*3+1); /*按题目要求的格式打印出来*/i = i*3+1; /*更新变量值*/}else /*偶数*/printf("%d/2=%d\n", i, i/2); /*按题目要求的格式打印出来*/i = i/2; /*更新变量值*/}}printf("END\n"); /*最后打印END*/return 0;} 另外几个测试结果图片:
3,c语言与角谷猜想#include<stdio.h>main() printf("请输入a的值,以便检验角谷猜想 。\na="); scanf("%d",&a); b=a; while (a!=1)else count++;}printf("%d需经过%d步才得到1.",b,count);}//如果能够逆推出,比方说,23的下一步是70,那么都有哪些数的下一步是70?如此逆推,就能写成一棵"数论树".//希望可以帮到您#include <stdio.h>#include <stdlib.h>int main() int i; static int count=0; printf("Number:\t"); scanf("%d",&i); doif(i%2==0)count++;printf("Step %3d -> %d = %d / 2\n",count,i/2,i);i=i/2;}elsecount++;printf("Step %3d -> %d = 3 x%d + 1\n",count,3*i+1,i);i=i*3+1;} }while(i!=1); return 0;}代码比较简单 , 各语句意义见注释 。。。#include int main(int argc, char *argv[]) int i; /*定义要处理的变量*/ scanf("%d", &i); /*输入变量值*/ while(i != 1) if(i%2)/*奇数*/ printf("%d*3+1=%d\n", i, i*3+1); /*按题目要求的格式打印出来*/ i = i*3+1; /*更新变量值*/ } else /*偶数*/ printf("%d/2=%d\n", i, i/2); /*按题目要求的格式打印出来*/ i = i/2; /*更新变量值*/ } } printf("end\n"); /*最后打印end*/ return 0; }另外几个测试结果图片:【角谷猜想c语言编程for循环,c语言for循环】
4,编程求助C语言怎么用递归方法解决角谷猜想你的程序这样改#include "stdio.h"int F(int a) if (a==1) return 1; if (a%2) return 1+F(3*a+1); else return 1+F(a/2);}void main() int a=0; scanf("%d",a); printf("%d",F(a));}有的数字递归次数很长导致堆栈溢出我是这样算的,可以一次算出1~n的循环步数有到ProjectEuler题目就是这个#include#include using namespace std; #define N 100 int a[N+1]=; int f(int n); void main() { int i=1; a[1]=1; for(i=1;i<=N;i++) a[i]=f(i); for(i=1;i<=N;i++) cout<<<" "<< } int f(int n) { if(n<=N&&a[n]) return a[n]; else { if(n%2) return 1+f(n*3+1); else return 1+f(n/2); } }if (a%2==0) return(F(3*a+1));if (a%2) return(F(a/2));这两个反了,改为if (a%2==0) return(F(a/2));if (a%2) return(F(3*a+1));LS 的正确 。。不过个人认为void F(int a) if (a==1)return ; if(a%2==1)a=a*3+1; elsea=a/2; printf("%d\n",a); F(a);}递归是吧,这样就可以了#include "stdio.h"static int k=0;void F(int a) if (a==1)return ; k++; if(a%2==1)a=a*3+1; elsea=a/2; printf("%d\n",a); F(a);}void main() int a=0; printf("input your number\n"); scanf("%d",&a); F(a); printf("the function totally calculated %d times",k);}#include#include int F(int a) { if (a==1) return 0; if (a%2) return 1+F(3*a+1); else return 1+F(a/2); } 楼主你这一句scanf("%d",a)忘加&了; int main() { int a=0; printf("请输入数字:"); scanf("%d",&a); printf("运算步数为:%d\n",F(a)); system("pause"); return 0; }
推荐阅读
- 数控铣床编程代码及解释,数控铣床编程代码的意义
- 软件开发就是编写程序代码,开发软件就是编程序这句话对吗为什么
- p图软件手机,手机P图软件
- 荨麻疹不能吃什么 荨麻疹的饮食禁忌
- 石斛适宜人群 石斛适合哪些人吃
- 中药麦饭石的功效与作用
- 壮阳果泡水喝管用吗 壮阳果泡水喝的功效
- 如何解决手机服务器无法使用的问题? 手机服务器不能用怎么解决
- imovie剪辑下载华为,哪里可以下载imovie