質問編集履歴

4

2020/10/07 05:57

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 標準入力から非負整数値 n( 0 ≦ n < 2の31乗 )を読み取り、n 以下の最大の2のべき乗を計算してその値を必要最小限の桁数で1行として標準出力書き出プログラム
1
+ 2のべき乗にる問題
test CHANGED
@@ -1,6 +1,12 @@
1
1
  初めまして。
2
2
 
3
3
  掲題の問を解く場合の考え方について質問させてください。
4
+
5
+
6
+
7
+ 問: 標準入力から非負整数値 n( 0 ≦ n < 2の31乗 )を読み取り、n 以下の最大の2のべき乗を計算してその値を必要最小限の桁数で1行として標準出力に書き出すプログラム
8
+
9
+
4
10
 
5
11
  現段階では初歩の初歩、for文やif文を学んでいるのですが、この問題をどの関数を使って、解いたら良いかがわからず、アドバイスいただきたいです。
6
12
 

3

for(int i=1; n!=0; i++,n>>=1)

2020/10/07 05:57

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -24,11 +24,11 @@
24
24
 
25
25
 
26
26
 
27
- int n;
27
+ int n,m=0 ;
28
28
 
29
29
  if(scanf("%d",&n));   
30
30
 
31
- for(int i=1; n!=0)  
31
+ for(int i=1; n!=0; i++,n>>=1)
32
32
 
33
33
  printf("%d\n");
34
34
 

2

修正

2020/10/06 13:42

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -9,3 +9,31 @@
9
9
  質問の方法が間違っていたらすみません。
10
10
 
11
11
  よろしくお願いいたします。
12
+
13
+
14
+
15
+ ```ここに言語を入力
16
+
17
+ #include <stdio.h>
18
+
19
+
20
+
21
+ int main()
22
+
23
+ {
24
+
25
+
26
+
27
+ int n;
28
+
29
+ if(scanf("%d",&n));   
30
+
31
+ for(int i=1; n!=0)  
32
+
33
+ printf("%d\n");
34
+
35
+
36
+
37
+ }
38
+
39
+ ```

1

誤字修正

2020/10/06 13:22

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 標準入力から非負整数値 n( 0 ≦ n < 231 )を読み取り、n 以下の最大の2のべき乗を計算してその値を必要最小限の桁数で1行として標準出力に書き出すプログラム
1
+ 標準入力から非負整数値 n( 0 ≦ n < 231 )を読み取り、n 以下の最大の2のべき乗を計算してその値を必要最小限の桁数で1行として標準出力に書き出すプログラム
test CHANGED
File without changes